DTCloud 单元测试

127 阅读1分钟

如何编写测试

DTCLOUD 的后端测试使用的是 unittest,只需要在模块文件下增加一个 test 的目录即可,注意该 test 目录不需要被模块文件里的_init_.py 文件导入,然后就是使 unittest 的框架方式写测试用例。

启动单元测试

首先建立一个新的数据库并且选择加载演示数据(demo data),然后重新使用命令行启动 dtcloud。

python dtcloud-bin --config=.dtcloud.conf --test-enable -d test_db -i test_model --log-level test --stop-after-init
  • 其中 config 中只设置了些基本的连接数据库及端口号的配置
  • --test-enable 为开启单元测试
  • -d 指定刚刚创建的数据库
  • -i 为安装模块,在开启测试之后安装模块便会对对模块进行单元测试,第二次测试可以改为-u(升级模块)
  • --log-level test 设置日志级别为 test 的
  • -- stop-after-init 测试完成后自动结束程序

测试代码覆盖率

首先安装 coverage 模块

pip install coverage

使用 coverage 运行 dtcloud

coverage run dtcloud-bin --config=.dtcloud.conf --test-enable -d test_db -i test_model --log-level test --stop-after-init

测试完成后再执行即可看到代码覆盖率情况

coverage report -m