Python 3 unittest没有加载测试套件

时间:2016-12-10 13:02:49

标签: python-3.x unit-testing

我试图在从模块加载测试套件后运行测试,但它似乎没有启动任何测试用例。我得到了这个结果:

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK

这是我的项目树:

├── Tests
│   ├── NetworkTests
│   │   ├── AuthenticationTests.py
│   │   ├── __init__.py
│   │   └── __pycache__
│   ├── __init__.py
│   ├── __pycache__
│   └── test_runner.py

test_runner.py

from unittest.loader import TestLoader
from unittest.runner import TextTestRunner
from unittest.suite import TestSuite

from Tests import NetworkTests


loader = TestLoader()
suite = TestSuite((
    loader.loadTestsFromModule(NetworkTests)
    ))

runner = TextTestRunner()
runner.run(suite)

NetworkTests/AuthenticationTests.py:

import unittest

from common.testing_utils import NetworkingTestMixin


class AuthenticationTestCase(NetworkingTestMixin, unittest.TestCase):
    def test_authentication_success(self):
        pass

    def test_authentication_fail(self):
        pass

我调用python3 Tests/test_runner.py命令来运行这些测试。当我用调试器检查它时套件是空的。

1 个答案:

答案 0 :(得分:0)

好的,我已经玩过unittest我不知道它为什么会起作用,但是,这就解决了这个问题(我之前尝试过类似但是无济于事:

import unittest

# Leave this as it is. Otherwise tests will fail
from NetworkTests import *

unittest.main()

它会显示一条错误消息,指出它无法找到NetworkTests,但它会以某种方式发生。