为什么python报道说错过了线?

Chr*_*vey 5 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.assertEqual(resp.status_code, 200)
Run Code Online (Sandbox Code Playgroud)

在命令行上,我运行:

coverage run --source="." manage.py test stats
Run Code Online (Sandbox Code Playgroud)

测试通过了.我的所有观点目前都在stats/views.py中

但是,当我运行"报道报告"时,我得到这一行:

Name                 Stmts   Miss  Cover
----------------------------------------
<snip>
stats/views            110    110     0%
Run Code Online (Sandbox Code Playgroud)

任何想法我(不)这样做会导致报告报告stats/views.py中遗漏的所有行,即使它必须被击中以便测试通过?(就像腰带和吊带一样,我在我的视图中放了一个印刷声明,它肯定会被击中.)

jgo*_*ann -1

也许你已经 pip 安装了没有-e标志的应用程序?然后,模块不会从您的项目目录导入,而是从它们安装的路径导入,并且覆盖率认为这些是不同的文件。