Python unittest 报告通过测试

标签 python unit-testing python-unittest

你好,我在“test.py”下有一个像下面这样的测试模块:

class TestBasic(unittest.TestCase):
    def setUp(self):
        # set up in here

class TestA(TestBasic):
    def test_one(self):
        self.assertEqual(1,1)

    def test_two(self):
        self.assertEqual(2,1)

if __name__ == "__main__":
    unittest.main()

这很好用,但我需要一种方法来打印通过的测试,例如我可以将输出打印到控制台:

test_one: PASSED
test_two: FAILED

现在转折点,我可以在 self.assertEqual() 之后添加一个打印语句,这将是一个通过的测试,我可以打印它,但我需要从不同的模块运行测试,比方说“test_reporter.py"我有这样的东西:

import test
suite = unittest.TestLoader().loadTestsFromModule(test)
results = unittest.TextTestRunner(verbosity=0).run(suite)

在这一点上,结果是我构建报告的时候。

欢迎大家提出建议

谢谢!!

最佳答案

Corey's comment提到,如果你设置 verbosity=2 unittest 将打印每个测试运行的结果。

results = unittest.TextTestRunner(verbosity=2).run(suite)

如果你想要更多的灵 active ——你可能会因为你正在创建套件和使用测试运行器——我建议你看一下 Twisted Trial .它扩展了 Python 的 unittest 模块并提供了更多的断言和报告功能。

编写测试将完全相同(除了子类化 twisted.trial.unittest.TestCase 与 python 的单元测试之外),因此您的工作流程不会改变。您仍然可以使用您的 TestLoader,但您可以选择更多的 TestReporter http://twistedmatrix.com/documents/11.1.0/api/twisted.trial.reporter.html .

例如,默认的 TestReporter 是 TreeReporter,它返回以下输出: enter image description here

关于Python unittest 报告通过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16679660/

相关文章:

python - 如何绘制二项式函数的图?

python - argparse 什么时候不会提示这个缺少的参数?

java - 如何使用 Robolectric 在 Android 中测试菜单

python - 在单元测试中使用模拟来修补 sleep

python - 在单元测试中修补时,Celery 任务调用的函数没有调用?

python - 如何模拟 Django 模型管理器的方法?

Python unittest 在单个套接字的 tcp 服务器上进行多个测试

python - pyqt4 在 Linux 中设置 QDateEdit 值

python - Go 等效于 Python 中的 decode ('hex' )

java - 如何对基于 HashMap 值生成字符串的函数进行单元测试?