我想在满足条件时跳过一些测试函数,例如:
@skip_unless(condition)
def test_method(self):
...
如果condition
评估为true,我希望将测试方法报告为跳过。我能用鼻子做一些努力,但我想看看是否有可能在鼻子2。
Related question描述了在nose2中跳过所有测试的方法。
答案 0 :(得分:4)
您可以使用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.mark.skipif(condition, reason)
def test_that_runs_when_condition_false():
assert 1 == 1
答案 1 :(得分:3)
内置unittest.skipUnless()方法,它应该与鼻子一起使用:
答案 2 :(得分:0)
使用鼻子:
resource "azurerm_virtual_machine" "openlr_webapp_vm" {
...
os_profile_linux_config {
disable_password_authentication = true
}
}
nosetests -v --nocapture 1.py
#1.py
from nose import SkipTest
class worker:
def __init__(self):
self.skip_condition = False
class TestBench:
@classmethod
def setUpClass(cls):
cls.core = worker()
def setup(self):
print "setup", self.core.skip_condition
def test_1(self):
self.core.skip_condition = True
assert True
def test_2(self):
if self.core.skip_condition:
raise SkipTest("Skipping this test")