Pytest, как игнорировать класс установки в тестовом приспособлении для автоматического использования
Приведенный ниже код запускается после каждой функции, включая класс установки. Я не создаю экземпляр перед фактическими тестами, поэтому я не хочу, чтобы он запускался после метода setup_class. Можете ли вы посоветовать, могу ли я изменить подпись, чтобы она не запускалась после установки?
@pytest.fixture(autouse=True)
def teardown_module(self):
Log.test_teardown("Deleting instance")
Utils.compute_utils().delete_instance_and_wait_for_state(
TestAutoValidateCpuAlignment.instance_id, teardown=True)
1 ответ
Это можно сделать более эффективно, используя . Объединитеteardown_module
иcreate_module
светильники в один, который делает и то, и другоеyield
между операциями. Таким образом, он создаст ваш экземпляр, выполнит тесты и затем разрушит его.
@pytest.fixture(autouse=True)
def instance_module(self):
try:
Log.test_teardown("Creating instance")
Utils.compute_utils().create_instance_and_wait_for_state(
TestAutoValidateCpuAlignment.instance_id, teardown=True)
yield
except Exception as e:
# do something with the exception
finally:
Log.test_teardown("Deleting instance")
Utils.compute_utils().delete_instance_and_wait_for_state(
TestAutoValidateCpuAlignment.instance_id, teardown=True)