首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在一个目录中运行所有Python单元测试?

如何在一个目录中运行所有Python单元测试?
EN

Stack Overflow用户
提问于 2009-11-14 07:01:40
回答 17查看 292.9K关注 0票数 391

我有一个包含Python单元测试的目录。每个单元测试模块的形式都是test_*.py。我正在尝试创建一个名为all_test.py的文件,您可能已经猜到了,它将运行上述测试表单中的所有文件并返回结果。到目前为止,我已经尝试了两种方法;都失败了。我将展示这两种方法,我希望有人知道如何正确地执行此操作。

对于我的第一次valiant尝试,我想“如果我只导入文件中的所有测试模块,然后将其命名为unittest.main() doodad,它将会工作,对吗?”事实证明我错了。

代码语言:javascript
复制
import glob
import unittest

testSuite = unittest.TestSuite()
test_file_strings = glob.glob('test_*.py')
module_strings = [str[0:len(str)-3] for str in test_file_strings]

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

这不起作用,我得到的结果是:

代码语言:javascript
复制
$ python all_test.py 

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

OK

对于我的第二次尝试,我想,好吧,也许我会尝试以一种更“手动”的方式来做整个测试工作。因此,我尝试在下面这样做:

代码语言:javascript
复制
import glob
import unittest

testSuite = unittest.TestSuite()
test_file_strings = glob.glob('test_*.py')
module_strings = [str[0:len(str)-3] for str in test_file_strings]
[__import__(str) for str in module_strings]
suites = [unittest.TestLoader().loadTestsFromName(str) for str in module_strings]
[testSuite.addTest(suite) for suite in suites]
print testSuite 

result = unittest.TestResult()
testSuite.run(result)
print result

#Ok, at this point I have a result
#How do I display it as the normal unit test command line output?
if __name__ == "__main__":
    unittest.main()

这也不起作用,但看起来很接近!

代码语言:javascript
复制
$ python all_test.py 
<unittest.TestSuite tests=[<unittest.TestSuite tests=[<unittest.TestSuite tests=[<test_main.TestMain testMethod=test_respondes_to_get>]>]>]>
<unittest.TestResult run=1 errors=0 failures=0>

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

OK

我似乎有一个套件,我可以执行结果。我有点担心它说我只有run=1,看起来应该是run=2,但它是进步。但是我如何将结果传递给main并显示出来呢?或者我如何让它正常工作,这样我就可以运行这个文件,并且在这样做的时候,运行这个目录中的所有单元测试?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1732438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档