断言一个方法被调用时只有一个参数是其中之一

9 浏览
0 Comments

断言一个方法被调用时只有一个参数是其中之一

我正在使用Mock库来模拟调用requests.post函数:requests.post = Mock()。这个调用涉及多个参数:URL、负载、一些认证信息等等。我想断言requests.post被调用时使用了特定的URL,但我不关心其他参数。当我尝试这样做时:requests.post.assert_called_with(requests_arguments),测试失败了,因为它期望只有那个参数被调用。有没有办法在函数调用中检查是否使用了单个参数,而不必传入其他参数呢?或者,更好的是,有没有办法断言一个特定的URL,然后对其他参数使用抽象数据类型(比如,数据应该是一个字典,认证应该是HTTPBasicAuth的一个实例等)?

0