/WeChatterBot

WeChatterBot originate from ChatterBot

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

WeChatterBot 后端代码

本代码已经基本完成,主要包括如下四个单元:

  1. 微信端
  2. 管理员后端
  3. chatterbot功能端
  4. storage存储端

运行方法

使用python 3.7 以上版本安装requirements.txt后,运行python manage.py runserver,公网测试的话需要将host改为'0.0.0.0'.

如果提示不能import app.const.keys的话,需要在app/const文件夹下新建keys.py,里面的内容是:

WECHAT_TOKEN = 'xxxxx'
WECHAT_APPID = 'xxxxx'
WECHAT_AESKEY = 'xxxxx'

缺少微信令牌的后端无法与真正的微信公众号相连,如果你有兴趣,欢迎搭建自己的测试公众号。 此外,还需额外安装Crypto模块,具体安装方法请参考这里

现在已经完成的api包括

1. chatterbot_api

运行服务后,通过 ip/chatterbot/str:text 即可得到chatterbot的回复。我们的压力测试是在这个URL上进行的。 例: http://127.0.0.1:5000/chatterbot/你是谁

2. wechat api

具体可以查看我们组需求分析文档的外部接口部分,点击这里

3. admin backend

具体可以查看我们组单独的admin部分接口文档,点击这里

单元测试和代码覆盖率统计方法

如果你使用Pycharm,在配置好python环境后,直接右键单击项目底的tests文件夹,选择运行Test: tests即可自动运行单元测试。代码覆盖率也可以直接通过Pycharm的coverage执行功能进行测试,也即右键单击tests文件夹,选择运行Coverage Test: tests即可。

如果是CLI,你需要安装unittest包进行单元测试:python -m unittest tests;安装coverage包进行代码覆盖率测试:python -m coverage run tests/a.py。更多高阶用法请参考官方文档

需要注意的是,本项目仅在Pycharm下的单元测试和覆盖率测试通过,如果因为系统路径等问题导致的测试失败不在本项目的考虑范围内。