目前我正在编写框架测试,我们通常在测试失败时使用自定义错误消息,为调试添加一些有用的信息:
$this->assertEquals($check, $result,
'Class::method returned the wrong result with argument XXX');
但是我希望在检查函数调用时自定义错误消息:
$mock->expects($this->any())->method('foobar')->with($this->equals('dummy'));
当上述断言不成立时,我会得到标准信息 我在PhpUnit文档中搜索过,但是我找不到自定义错误信息的方法,我错过了什么?
答案 0 :(得分:0)
另一个选择是手动检查调用信息。不确定如何检查参数,但这是检查调用计数的示例
$myMock = $this->getMockBuilder(MyClass::class)->getMock();
$matcher = $myMock ->expects($this->once())->method('myFunctionToCount')->getMatcher();
//execute code that calls myFunctionToCount on $myMock
$this->assertEquals(1, $matcher->invocationMatcher->getInvocationCount(), "Assertion message goes here");
这是测试运行程序在内部所做的事情,但是可以让您控制断言消息
这并不完美,因为您需要保持期望计数和断言计数同步