所以我有一个带有Acceptance Tests子目录的目录。 我的大多数测试都没有相互依赖,期望一个套件。 有没有办法告诉鼻子到达这个类时顺序执行测试。一旦它命中下一个类,再次启用多处理? 这与此测试套件中的灯具无关,它们根本无法同时运行。他们正在执行API,这会影响同时运行的其他测试。
提前致谢。
答案 0 :(得分:1)
我会使用nose attribute插件来装饰需要显式禁用多处理的测试并运行两个鼻子命令:一个启用多处理,不包括敏感测试,另一个禁用多处理,包括仅敏感测试。您将不得不依赖CI框架应该结合测试结果。类似的东西:
from unittest import TestCase
from nose.plugins.attrib import attr
@attr('sequential')
class MySequentialTestCase(TestCase):
def test_in_seq_1(self):
pass
def test_in_seq_2(self):
pass
class MyMultiprocessingTestCase(TestCase):
def test_in_parallel_1(self):
pass
def test_in_parallel_2(self):
pass
然后运行它:
> nosetests -a '!sequential' --processes=10
test_in_parallel_1 (ms_test.MyMultiprocessingTestCase) ... ok
test_in_parallel_2 (ms_test.MyMultiprocessingTestCase) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.071s
OK
> nosetests -a sequential
test_in_seq_1 (ms_test.MySequentialTestCase) ... ok
test_in_seq_2 (ms_test.MySequentialTestCase) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK