如何在Jupyter Notebook中单独运行指定unittest测试套件?
解决Jupyter中单独运行unittest测试类的问题
为什么argv=['TestSuite2']无效?
unittest.main的argv参数第一个元素会被当作程序名称(可随意填,通常用空字符串),后续元素才是要指定的测试类/方法名。你之前只传了['TestSuite2'],这个值会被当成程序名而非要运行的测试类,所以还是会执行所有测试。
正确的argv设置方式
把空字符串作为第一个参数,测试类名作为第二个参数:
unittest.main(argv=['', 'TestSuite2'], verbosity=2, exit=False)
这样就能只运行TestSuite2中的测试用例。
更可靠的替代方案(推荐)
在Jupyter交互式环境中,直接用TestLoader加载指定测试类再运行,比依赖argv更直观且不易出问题:
import unittest # 加载指定测试类 test_suite = unittest.TestLoader().loadTestsFromTestCase(TestSuite2) # 运行测试 runner = unittest.TextTestRunner(verbosity=2) runner.run(test_suite)
内容的提问来源于stack exchange,提问作者butterflyknife
相关产品推荐
相关产品推荐

