如果setUp()中的条件忽略test

时间:2014-05-19 15:03:41

标签: python fixtures python-unittest

在unittest python库中,对于集合变量以及测试前后的其他事物,存在函数setUptearDown

如何在setUp中运行或忽略具有条件的测试?

2 个答案:

答案 0 :(得分:3)

您可以在if cond: self.skipTest('reason')中致电setUp()

答案 1 :(得分:1)

使用setUp装饰器。

,而不是检入skipIf
@unittest.skipIf(not os.path.exists("somefile.txt"),
                 "somefile.txt is missing")
def test_thing_requiring_somefile(self):
    ...

skipIf也可以在类上使用,因此如果条件不成立,您可以跳过所有包含的测试。

@unittest.skipIf(not os.path.exists("somefile.txt"),
                 "somefile.txt is missing")
class TestStuff(unittest.TestCase):

    def setUp(self):
        ...

    def test_scenario_one(self):
        ...

    def test_scenario_two(self):
        ...