PHPUnit:如何模拟具有多个参数的多个方法调用?
我正在为使用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
提前致谢。