正在运行从..导入的所有unittest.TestCase。。导入*

2024-03-28 21:38:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下包裹:

  • tests.py
  • 测试
    • __init__.py
    • test_module_a.py
    • test_module_b.py

在我的tests.py文件中,我执行以下操作:

import unittest

from tests import *

if __name__ == "__main__":
    unittest.main()

在我的tests/__init__.py中:

__all__ = ["test_module_a", "test_module_b"]

在我的tests/test_module_a.pytests/test_module_b.py文件中,我有以下内容:

import unittest

class TestMyModule(unittest.TestCase):

  def test_something(self):
    self.assertTrue(True)

运行python tests.py时,子模块似乎已导入,但我的unittest.TestCase没有运行。为什么?谢谢


Tags: 文件namefrompytestimportselfif
1条回答
网友
1楼 · 发布于 2024-03-28 21:38:27

使用测试加载器并显式导入每个测试用例(以提高可读性):

import unittest

from test_module_a import TestMyModule1
from test_module_b import TestMyModule2

if __name__ == "__main__":
    loader = unittest.TestLoader()
    suite = unittest.TestSuite((loader.loadTestsFromTestCase(TestMyModule1),
                                loader.loadTestsFromTestCase(TestMyModule2),
                                )
                               )
    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(suite)

相关问题 更多 >