关于单元测试:python unittest – 即使没有任何测试也会失败

python unittest - fails even without any test

本问题已经有最佳答案,请猛点这里访问。

今天我写了一个测试,不管我做了什么,我都不能通过测试。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
>>> ================================ 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

这种行为正常吗?也:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> 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

您正试图在交互式shell中运行单元测试,这可能不是UnitTest模块的用途。特别是,当UnitTest完成时,它显式地尝试退出"程序",但是当您从交互shell运行它时,这失败了。

您是否尝试将代码放入一个文件并运行它(我从.py文件中尝试了您的代码,但它似乎没有引发错误)。