Python的NOSE测试框架具有并行运行多个测试的概念.
这样做的目的不是测试代码中的并发性,而是为没有副作用,没有排序问题,没有外部依赖性的代码进行测试,运行得更快.性能增益来自于访问不同设备时的并发I/O等待,更好地使用多CPU /内核以及并行运行time.sleep()语句.
我相信使用Python的单元测试框架可以通过插件Test Runner完成同样的事情.
有没有人有这种野兽的经验,他们可以提出任何建议吗?
我正在寻找一个简单的例子来演示如何使用testtool的并发测试.我从这里找到了一个例子:
import unittest
import testtools
class MyTester(unittest.TestCase):
# Tests...
suite = unittest.TestLoader().loadTestsFromTestCase(MyTester)
concurrent_suite = testtools.ConcurrentStreamTestSuite(lambda: ((case, None) for case in suite))
concurrent_suite.run(testtools.StreamResult())
Run Code Online (Sandbox Code Playgroud)
但是,它遇到了一个相当大的问题.它不会告诉您测试是否通过或失败.StreamResult对象不仅是临时的,StreamResult的方法也不做任何事情.