Django调试的代码覆盖率

2024-05-19 17:38:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用覆盖率.py从http://nedbatchelder.com/code/coverage/获取django单元测试的覆盖率数据,但我似乎不知道如何在django调试服务器上运行覆盖率。我想使用以下命令运行django服务器:

coverage -x manage.py runserver 0.0.0.0:8080

当停止这个服务器时,我应该得到覆盖率数据,用它我可以生成覆盖率报告。但是在用CTRL-c关闭服务器时,我得到

^CCoverage.py warning: No data was collected.

我准备好使用任何其他工具,如果它不可能使用这个覆盖率.py脚本。在

更新:

对于--noreload,它似乎确实可以工作,但在生成html覆盖率报告时,我得到了以下堆栈跟踪:

^{pr2}$

Tags: 数据djangopy命令服务器comhttpmanage
1条回答
网友
1楼 · 发布于 2024-05-19 17:38:01

嗯,不知道该怎么解释。当我创建一个全新的Django项目时,我得到了一些覆盖度量:

$ django-admin.py startproject mysite
$ cd mysite
$ coverage run manage.py runserver
Validating models...

0 errors found
Django version 1.3, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
^C
$ coverage report
Name       Stmts   Miss  Cover
               
__init__       0      0   100%
manage        11      4    64%
settings      24      0   100%
               
TOTAL         35      4    89%

什么操作系统,Django和覆盖率版本,等等?你的项目还有什么不寻常的吗?在

单独测量runserver可能不是您想要的,您只能测量监视文件更改和重新启动服务器的代码。具有覆盖率支持的Django测试运行程序可能更适合您的需要。在

更新:

提供noreload开关可以使覆盖率测量所有代码。在

相关问题 更多 >