我正在为使用 PHPUnit 的方法编写单元测试。我正在测试的方法在同一个对象上调用相同的方法 3 次,但使用不同的参数集。我的问题类似于这里和这里提出的问题
其他帖子中提出的问题与只接受一个参数的模拟方法有关。
但是,我的方法需要多个参数,我需要这样的东西:
$mock->expects($this->exactly(3))
->method('MyMockedMethod')
->with(
$this->logicalOr(
$this->equalTo($arg1, $arg2, arg3....argNb),
$this->equalTo($arg1b, $arg2b, arg3b....argNb),
$this->equalTo($arg1c, $arg2c, arg3c....argNc)
)
);
此代码不起作用,因为equalTo()
仅验证一个参数。给它多个参数会引发异常:
PHPUnit_Framework_Constraint_IsEqual::__construct() 的参数 #2 必须是数字
有没有办法对logicalOr
具有多个参数的方法进行模拟?
提前致谢。