PHPUnit 断言没有调用任何方法

2022-01-25 00:00:00 mocking testing unit-testing php phpunit

I have a ClassA that uses a ServiceB. In a certain case, ClassA should end up not invoking any methods of ServiceB. I now want to test this and verity no methods are indeed called.

This can be done as follows:

$classA->expects( $this->never() )->method( 'first_method' );
$classA->expects( $this->never() )->method( 'second_method' );
...

Is there a way to simply state "no method should be called on this object" rather then having to specify a restriction for each method?

解决方案

Yes, it's quite simple, try this:

$classA->expects($this->never())->method($this->anything());

相关文章