在PHPUnit中,我如何测试是否从未使用某些参数调用方法?我的意思是它可以用任何其他参数调用,甚至多次,但从不使用某个参数。
答案 0 :(得分:1)
看起来不可能使用标准方式,因此您可以使用回调来指定返回值,并检查那里的参数(有点棘手,但似乎有效):
$mock = $thi->getMockBuilder('MyClass')->getMock();
$mock->expects($this->any())
->method('myMethod')
->willReturnCallback(function() {
$args = func_get_args();
$disallowedArgs = [1, 'abc'];
$this->assertNotEquals($disallowedArgs, $args);
})
;
答案 1 :(得分:0)
传递不应该传递给方法的参数,如果你的方法抛出一个(它可能应该),则断言期望异常。