Unittests不能使用python -m unittest命令运行

时间:2015-01-21 13:39:13

标签: python testing python-unittest unit-testing

我有这样的结构

app/
    __init__.py
    phonebook.py
    test_phonebook.py

app目录中,我可以使用python test_phonebook.py

在终端中运行测试

但是当我在python -m unittest目录中输入app时,为什么测试不会运行? 我看到0测试运行的消息

1 个答案:

答案 0 :(得分:0)

如果您想手动运行多个test_*.py文件,则必须创建unittest.TestLoader以选择测试并使用unittest.TestRunner运行该文件。

例如,您可以将__main__.py添加到您的应用

import unittest
import os
def run(verbosity=2):
    suite = unittest.TestLoader().discover(os.path.dirname(__file__))
    unittest.TextTestRunner(verbosity=verbosity).run(suite)
run()

并使用

启动它
$>python -m app

因此,它会在app内发现您的所有测试并启动它们。