如何从每个Python单元测试模块获得单一结果

2024-04-16 08:02:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有不同的单元测试模块,这些模块包含在单元测试代码中,您将看到:

    import unittest

    class TestTest(unittest.TestCase):
        def setUp(self):
            pass

        def tearDown(self):
            pass

        def test_type(self):
            self.assertTrue(False)

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

我需要得到每个模块运行后的结果,并将其写入数据库。因此,在运行每个模块后,我预计会有3种不同的结果:

  • 通过
  • 未通过
  • 工作

但问题是在运行测试模块后,我得到了这样的输出

F ====================================================================== FAIL: test_test (main.TestTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/~/mytest.py", line 12, in test_test self.assertTrue(False) AssertionError: False is not true

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)

我不知道unittest中是否有什么东西可以像我期望的那样给我一个直接的值

我也试过:

    TestTest = unittest.TestLoader().loadTestsFromTestCase(TestTest)
    suit = unittest.TestSuite([TestTest])
    result = unittest.TextTestRunner(verbosity=2).run(suit)

    print(result)

但它给了我这个:

test_test (main.TestTest) ... FAIL

======================================================================
FAIL: test_test (__main__.TestTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/~/mytest.py", line 12, in test_test
    self.assertTrue(False)
AssertionError: False is not true

----------------------------------------------------------------------
Ran 1 test in 0.000s

FAILED (failures=1)

Tags: 模块intestselffalsemostmaindef
1条回答
网友
1楼 · 发布于 2024-04-16 08:02:34

基本上,如果您需要在测试结果中提供更多信息,只需添加记录测试的关键字msg,例如:

self.assertTrue(False, msg = 'Host connection not stablished.')

相关问题 更多 >