Python 单元测试调用困惑

标签 python unit-testing

我已经编写了我的程序 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,但我在文档中找不到任何使这种情况变得特殊的内容。

有什么想法吗?

谢谢

最佳答案

来自documentation :

Changed in version 2.7: In earlier versions it was only possible to run individual test methods and not modules or classes.

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

显然你甚至不能在 python 2.6 中使用 -m unittest 从单独的测试方法运行。看这个question了解详情。

你可能想试试 nosenose2 .

关于Python 单元测试调用困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219358/

相关文章:

python - 在 Visual Studio Code 中禁用自动换行

显示 MessageBox 时出现 Python 新 TKinter 窗口

unit-testing - 单元测试时使用 ServiceStack 将 Entity Framework Core Context 注入(inject)存储库

javascript - AfterEach 需要 Jasmine 测试帮助

xcode - 在 xcode 单元测试中加载文件

python - 获取文本标题

python - Celery sqlalchemy session

python - 如何在Python中获取装饰器中方法的调用者?

node.js - 如何让 Mocha 识别单元测试

reactjs - 无法使用 Jest 模拟 react 原生声音