PHPUnit使用每个值调用的断言方法

时间:2013-09-25 19:09:15

标签: unit-testing testing mocking phpunit assertions

我有一个方法应该使用它以某种方式得到的数组,然后为每个元素调用另一个方法(让我们称之为fooBar),将元素作为参数传递给方法。

这是我目前拥有的代码,并且有效:

    foreach ( $names as $index => $name ) {
        $parser->expects( $this->at( $index ) )
            ->method( 'setFunctionHook' )
            ->with(
                $this->equalTo( $name ),
                $this->isType( 'callable' )
            );
    }

但这非常冗长。有没有更短的方法呢?

1 个答案:

答案 0 :(得分:1)

假设您知道测试中期望的值:

foreach($expected_values as $value){
    $myMock->expects( $this->once())
        ->method('fooBar')
        ->with($value);
}