我有一些功能要测试。实际上,我有9个输入参数,但我把它设为3是为了简化我的问题
def submit(var1, var2, var3)
我的测试用例如下所示:
def test_submit_missing(
var1=default_value1
var2=default_value2
var3=default_value3
print ('\nAssert missing var1 returns error:\n')
with self.assertRaises(SomeException) as err:
self.submit(None, var2, var3)
print ('\nAssert missing var2 returns error:\n')
with self.assertRaises(SomeException) as err:
self.submit(var1, None, var3)
print ('\nAssert missing var3 returns error:\n')
with self.assertRaises(SomeException) as err:
self.submit(var1, var2, None)
#In reality, I have 9 input vars to test
像这样的事情怎么样:
结果将是:
这是什么伟大的是,即使你的输入改变了功能的数量仍然会工作。你知道吗
刚发完帖子,我就意识到我不理解这个问题,所以下面是我的答案:
所以我有两个清单:
在for循环中,我复制默认值的列表(我们需要为其他迭代保留它)
然后我更新这个列表的一个元素并将其设置为无
然后我使用zip创建一个dict,并使用关键字参数unpacking将参数传递给函数
可以创建默认值列表,在循环中将第n个元素设置为
None
,并使用参数解包将参数传递给测试下的函数,例如:希望有帮助。你知道吗
相关问题 更多 >
编程相关推荐