在一个模块中运行测试

2024-10-01 19:33:53 发布

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

我试图从我认为是模块的python中运行一些单元测试。我有一个目录结构

TestSuite.py
UnitTests
  |__init__.py
  |TestConvertStringToNumber.py

在测试套件.py我有

^{pr2}$

这看起来可以启动测试,但它在TestC中没有任何测试onvertNumberToString.py. 在那个类中,我有一组以“test”开头的函数。在

我应该怎么做才能运行python测试套件.py实际上在单元测试中启动了我所有的测试?在


Tags: 模块函数pytest目录套件init单元测试
2条回答

跑步者的测试,你可以摆脱“扭曲的测试”测试套件.py,只需:

$ trial UnitTests.TestConvertStringToNumber

在命令行上;或者,更好的是,只是

^{pr2}$

发现并运行包中的所有测试。在

下面是一些将运行目录中所有单元测试的代码:

#!/usr/bin/env python
import unittest
import sys
import os

unit_dir = sys.argv[1] if len(sys.argv) > 1 else '.'
os.chdir(unit_dir)
suite = unittest.TestSuite()
for filename in os.listdir('.'):
    if filename.endswith('.py') and filename.startswith('test_'):
        modname = filename[:-2]
        module = __import__(modname)
        suite.addTest(unittest.TestLoader().loadTestsFromModule(module))

unittest.TextTestRunner(verbosity=2).run(suite)

如果你叫它测试套件.py,然后按如下方式运行:

^{pr2}$

相关问题 更多 >

    热门问题