python unittest - 即使没有任何测试也会失败

时间:2013-01-30 19:50:26

标签: python unit-testing

今天我写了一个测试,无论我做了什么,我都无法通过测试。

然后我发现即使没有任何测试用例,我也得到SystemExit:False:

>>> ================================ RESTART ================================
>>> import unittest
>>> unittest.main()

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

Traceback (most recent call last):
  File "<pyshell#123>", line 1, in <module>
    unittest.main()
  File "C:\Python27x64\Lib\unittest\main.py", line 95, in __init__
    self.runTests()
  File "C:\Python27x64\Lib\unittest\main.py", line 231, in runTests
    sys.exit(not self.result.wasSuccessful())
SystemExit: False

这种行为是正常的吗?也:

>>> class aTest(unittest.TestCase):
    def test_123(self):
        self.assertEqual(2, 1+1)


>>> unittest.main()
.
----------------------------------------------------------------------
Ran 1 test in 0.011s

OK

Traceback (most recent call last):
  File "<pyshell#133>", line 1, in <module>
    unittest.main()
  File "C:\Python27x64\Lib\unittest\main.py", line 95, in __init__
    self.runTests()
  File "C:\Python27x64\Lib\unittest\main.py", line 231, in runTests
    sys.exit(not self.result.wasSuccessful())
SystemExit: False

1 个答案:

答案 0 :(得分:2)

您正在尝试在交互式shell中运行单元测试,这可能不是单元测试模块的用途。特别是,当unittest完成时,它明确地尝试退出“程序”,但是当你从交互式shell运行它时,这会失败。

您是否尝试将代码放入文件并运行它(我尝试使用.py文件中的代码,它似乎可以正常工作而不会出现错误)。