Django 为什么python的报道说遗漏了行?
我试图使用Django的覆盖率,但我似乎得到了错误的结果。我的应用程序名为“stats”,我有以下测试:Django 为什么python的报道说遗漏了行?,django,coverage.py,python-coverage,Django,Coverage.py,Python Coverage,我试图使用Django的覆盖率,但我似乎得到了错误的结果。我的应用程序名为“stats”,我有以下测试: class ListSchoolsTest(TestCase): def test_initial_list(self): self.client.login(username='skeezy', password='skeezy') resp = self.client.get("/stats/list_schools/") self
class ListSchoolsTest(TestCase):
def test_initial_list(self):
self.client.login(username='skeezy', password='skeezy')
resp = self.client.get("/stats/list_schools/")
self.assertEqual(resp.status_code, 200)
在命令行上,我运行:
coverage run --source="." manage.py test stats
测试通过了。我的所有视图当前都在stats/views.py中
但当我运行“覆盖率报告”时,我得到了以下信息:
Name Stmts Miss Cover
----------------------------------------
<snip>
stats/views 110 110 0%
Name Stmts Miss Cover
----------------------------------------
统计/视图110 0%
你知道我正在(不)做什么会导致覆盖率报告stats/views.py中遗漏的所有行,即使为了通过测试必须点击它吗?(就像皮带和吊带一样,我在我的视图中放了一个打印语句,它肯定会被击中。)也许你的应用程序安装了pip,但没有
-e
标志?然后模块不会从您的项目目录导入,而是从它们安装到的路径导入,coverage认为这些是不同的文件。我也遇到了同样的问题。在Windows中,覆盖范围正常工作,但当我发送给Travis时,所有不在测试中的语句都会丢失。