Python 有没有办法退出pytest测试并继续下一个测试?
假设我定义了两个测试。是否有一种方法可以退出第一个测试(例如,如果某个条件为True),而不执行测试的其余代码并继续进行下一个测试?(类似于循环中的continue语句,但不是循环,而是继续到下一个测试)您总是可以根据某个条件从测试中Python 有没有办法退出pytest测试并继续下一个测试?,python,python-2.7,pytest,Python,Python 2.7,Pytest,假设我定义了两个测试。是否有一种方法可以退出第一个测试(例如,如果某个条件为True),而不执行测试的其余代码并继续进行下一个测试?(类似于循环中的continue语句,但不是循环,而是继续到下一个测试)您总是可以根据某个条件从测试中返回,这将使它在不执行任何后续代码的情况下退出 如果这是您的意思,您可以有选择地在pytest中运行测试以进行调试- py.test mytestfile.py -k <pattern> py.test mytestfile.py-k 否则,问题是人
返回
,这将使它在不执行任何后续代码的情况下退出
如果这是您的意思,您可以有选择地在pytest
中运行测试以进行调试-
py.test mytestfile.py -k <pattern>
py.test mytestfile.py-k
否则,问题是人们真的不喜欢花太多时间修复测试。因此,测试需要非常简单,编写得比他们正在测试的代码还要好,因为没有人会编写测试来测试测试。即使这种随机行为是可能的,我也不推荐它。对于pytest,有很多跳过功能,请查看 但是,如果您以类似的方式使用unittest,则可以在运行测试之前使用装饰程序手动跳过它,例如:
@unittest.skip("Skipping test_myFunction test"):
def test_myFunction(self):
assert(testing_definition)
或者只放置一个可以在内部映射到函数或unittest的条件。Testcase构造函数:
# @unittest.skip("Skipping test_myFunction test"):
def test_myFunction(self):
condition = self.condition # or however you define
if condition:
assert(testing_definition)
else:
print("Internal skip of test_myFunction where condition = {}".format(condition)"
return
语句执行此任务。