问题在于我要模拟的依赖关系具有一个
expects()
方法。这个类是我正在测试的类的一个依赖项。
< p > setUp()方法 < /p >
$this->test = $this->getMockBuilder(Request::class)->disableOriginalConstructor()
->getMock();
因此,当我编写测试时
$this->test->expects($this->once())->method('otherMethod')
->willReturn(0);
这会导致一个错误:
无法在...中重新声明Mock_Test_f21c25ee :: expects()
我该怎么解决?
编辑:
在尝试了使用 setMethodsExcept()
的建议解决方案后,我现在得到了不同的错误消息。 我还使用PHPunit 7.5
Mock_Test_fa1cb6c5 :: expects(PHPUnit \ Framework \ MockObject \ Matcher \ Invocation $ matcher)的声明应与App \ Services \ Api \ Test :: expects()兼容
注意:忘记提到我正在使用具有自己的TestBase类的Laravel 5.5
编辑2:在尝试使用默认的PHPUnit测试用例后,我仍然收到与上述相同的错误消息。(必须兼容错误)