0

今天我写了一个测试,无论如何我都无法通过测试。

然后我发现我得到 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
4

1 回答 1

2

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

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

于 2013-01-31T12:46:38.733 回答