我希望在满足条件时跳过一些测试函数,例如:
@skip_unless(condition)
def test_method(self):
...
在这里,如果条件评估为true,我希望将测试方法报告为跳过.我能用鼻子做一些努力,但我想看看是否有可能在鼻子2.
Related question描述了在nose2中跳过所有测试的方法.
解决方法:
通用解决方案:
你可以使用unittest跳过条件,它可以用于nosetests,nose2和pytest.有两种选择:
class TestTheTest(unittest.TestCase):
@unittest.skipIf(condition, reason)
def test_that_runs_when_condition_false(self):
assert 1 == 1
@unittest.skipUnless(condition, reason)
def test_that_runs_when_condition_true(self):
assert 1 == 1
Pytest
使用pytest框架:
@pytest.mark.skipif(condition, reason)
def test_that_runs_when_condition_false():
assert 1 == 1