我正在尝试使用 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.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%
知道我在(不)在做什么会导致覆盖报告 stats/views.py 中遗漏的所有行,即使它必须被击中才能通过测试? (就像一个腰带和吊带,我在我的视野中放了一个打印声明,它肯定会受到打击。)
最佳答案
也许你已经 pip 安装了没有 -e
的应用程序旗帜?然后这些模块不是从您的项目目录中导入的,而是它们安装到的路径,并且覆盖认为这些是不同的文件。
关于django - 为什么 python 覆盖说错过了行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18564935/