1
我想设置py.test,使得灯具B可以返回给定灯具A的值的可变数量的参数。让我以当前实现为例进行说明。对于三个对象中的每一个,我想测试可变数量的属性。具有可变数量值的灯具取决于输入
@pytest.fixture(params=[Object1(), Object2(), Object3()])
def my_object(request):
return request.param
def test_keys(my_object):
for key in my_object.valid_keys:
assert getattr(my_object, key) > 0, "mock test failed"
上面实施的功能,但它是不容易从其中valid_keys
进行了测试测试输出看。如果其中一个测试失败,后续测试将不会执行。理想情况下,我想要一个设置如下。
@pytest.fixture(params=[Object1(), Object2(), Object3()])
def my_object(request):
return request.param
@pytest.fixture
def valid_key(my_object):
# Return each valid key separately for each input object
def test_keys(my_objects, valid_key):
assert getattr(my_object, valid_key) > 0, "mock test failed"
这种结构可以让我更容易地分析我的测试中,观察范围,确保所有的测试都独立运行等
是的,不幸的是,有效密钥的数量是可变的。 –