Home » Php » php – PHPUnit assert no method is called

php – PHPUnit assert no method is called

Posted by: admin April 23, 2020 Leave a comment

Questions:

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?

How to&Answers:

Yes, it’s quite simple, try this:

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