Python unittest Extra在0.000s内运行了0个测试

2024-09-25 00:21:14 发布

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

这是我的测试脚本:

# tests/runner.py
import unittest

# import your test modules
import TC110
import TC112

# initialize the test suite
loader = unittest.TestLoader()
suite  = unittest.TestSuite()

# add tests to the test suite
suite.addTests(loader.loadTestsFromModule(TC110))
suite.addTests(loader.loadTestsFromModule(TC112))

# initialize a runner, pass it your suite and run it
runner = unittest.TextTestRunner(verbosity=3)
result = runner.run(suite)

我把TC110.py和TC112.py放在同一个目录中,并像这样运行我的测试

^{pr2}$

我得到的输出是这样的

test_ldap_login (TC110.TestTC110) ... ok
test_download_artifact (TC112.TestTC112) ... ok

----------------------------------------------------------------------
Ran 2 tests in 1.929s

OK

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

OK

为什么我要做“0次测试”,如何摆脱这个问题?在


Tags: thepytestimportyourtestsloaderunittest
1条回答
网友
1楼 · 发布于 2024-09-25 00:21:14

您得到了一个额外的“run0测试”,其原因与print(print("asdf"))打印额外的None基本相同:您发出了两个测试命令。在

您的runner.py脚本从其他文件加载测试并运行它们。如果您只是告诉Python运行脚本(python runner.py),就不会得到虚假的额外输出。在

您没有告诉Python运行脚本,而是告诉unittest模块从runner.py加载并运行所有测试。作为一个副作用,它运行runner.py的主体,运行您想要的测试。unittest然后加载并运行runner.py中包含的所有0个测试,因为您告诉过它。在

相关问题 更多 >