我已经编写了一个以下形式的程序MachineSettings_test.py的单元测试:
import unittest
import MachineSettings as MS
class TestMachineSettings(unittest.TestCase):
def setUp(self):
[...]
def testStringRepresentation(self):
[...]
def testCasDict(self):
[...]
if __name__=="__main__":
unittest.main()
我对以下事实感到有点困惑: 如果我跑
python -m unittest -v MachineSettings_test
我得到输出
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
即。 Python无法识别unittesting模块中的测试。
但如果我只是跑
python MachineSettings_test.py
一切正常,我得到输出
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
这让我感到困惑,我在这里找不到任何类似的问题,所以我发布了它。
我(被迫使用)的Python版本是2.6,但我在文档中找不到任何使这个案例变得特殊的东西。
有人有想法吗?
由于
答案 0 :(得分:4)
在2.7版本中更改:在早期版本中,只能运行单独的测试方法,而不能运行模块或类。
你正试图用python 2.6运行整个模块的测试。
显然你甚至无法在python 2.6中使用-m unittest
运行单独的测试方法。有关详细信息,请参阅此question。