问题描述
我正在寻找一种为我的测试实现自定义参数化逻辑的方法。我的代码倾向于使用多态设计,因此这似乎是在单个测试中测试所有多态方法的最明智的方法。我目前如何装饰测试的模拟示例:
@mark.parametrize(
("cls","input","expected"),[
(ClsA,True),(ClsA,1,False),(ClsB,)
在测试中,我将在实例化输入并期望预期后在每个类实例上调用该方法。似乎(尤其是在使用较大的参数设置的情况下),对于使用它的所有参数设置一次“设置” ClsA,对于使用它的所有参数设置一次“设置” ClsB更有意义。如果您只有一个cls arg,则您可以做到:
@mark.parameterize(
"cls",[ClsA],)
@mark.parameterize(
("input","output"),[
(0,(1,]
)
但是,您不能将此语法与多个cls参数一起使用,因为它会创建不同装饰器的乘积,缺少一种方法来在一个装饰器中分配某些参数,而只能与另一个装饰器中的某些参数一起使用。有什么方法可以做我想要达到的目标吗?否则,我必须反复写出感觉很湿的相同论点。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)