大家。 我有 2 个装置和 2 个测试用例。 这是我将它们粘合在一起的想法(以避免编写 4 个单独的测试用例):
from unittest import TestCase
class TypeAFixture:
def setUp(self):
print("\nSetting up type A")
class TypeBFixture:
def setUp(self):
print("\nSetting up type B")
class Scenario:
def test_case_1(self):
print("testing Case 1")
def test_case_2(self):
print("testing Case 2")
class TestA(TypeAFixture, Scenario, TestCase):
pass
class TestB(TypeBFixture, Scenario, TestCase):
pass
按预期工作,输出如下(我使用 pytest 运行它):
main.py::TestA::test_case_1
Setting up type A
testing Case 1
PASSED
main.py::TestA::test_case_2
Setting up type A
testing Case 2
PASSED
main.py::TestB::test_case_1
Setting up type B
testing Case 1
PASSED
main.py::TestB::test_case_2
Setting up type B
testing Case 2
PASSED
问题是 - 我需要对此进行扩展并对两个 setUp 实施额外的参数化。 我尝试了不同的方法(使用 subTest,为固定装置提供额外的参数等),但到目前为止似乎没有任何效果。 我期待以下输出:
main.py::TestA::test_case_1
Setting up type A
Setting up param X
testing Case 1
PASSED
main.py::TestA::test_case_2
Setting up type A
Setting up param Y
testing Case 2
PASSED
main.py::TestB::test_case_1
Setting up type B
Setting up param X
testing Case 1
PASSED
main.py::TestB::test_case_2
Setting up type B
Setting up param Y
testing Case 2
PASSED
实现这一点的正确方法是什么?任何建议将不胜感激。