3

我已经编写了我的程序 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 无法识别单元测试模块中的测试。

但如果我只是跑

python MachineSettings_test.py

一切正常,我得到输出

..
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK

这让我很困惑,我在这里找不到任何类似的问题,所以我发布了它。

我(被迫)使用的 Python 版本是 2.6,但我在文档中找不到任何使这种情况变得特别的东西。

任何人的想法?

谢谢

4

1 回答 1

4

文档中:

在 2.7 版中更改:在早期版本中,只能运行单个测试方法,而不能运行模块或类。

您正在尝试使用 python 2.6 对整个模块进行测试。

显然,您甚至无法使用-m unittestpython 2.6 中的单个测试方法运行。有关详细信息,请参阅此问题

你可能想试试鼻子鼻子2

于 2013-04-25T15:54:57.000 回答