PHPUnit断言没有调用任何方法

Jer*_*auw 30 php testing phpunit unit-testing mocking

我有一个使用ServiceB的ClassA.在某种情况下,ClassA最终不应该调用任何ServiceB方法.我现在想测试这个并且确实没有确实调用任何方法.

这可以按如下方式完成:

$classA->expects( $this->never() )->method( 'first_method' );
$classA->expects( $this->never() )->method( 'second_method' );
...
Run Code Online (Sandbox Code Playgroud)

有没有办法简单地说"不应该在这个对象上调用方法"而不是必须为每个方法指定一个限制?

Cyp*_*ian 57

是的,这很简单,试试这个:

$classA->expects($this->never())->method($this->anything());
Run Code Online (Sandbox Code Playgroud)