PHPUnit中的参数化测试

时间:2014-03-10 15:42:07

标签: unit-testing junit phpunit

在JUnit上,您可以使用注释@RunWith(Parameterized.class)多次运行单个单元测试,具有不同的实际和预期结果。我是PHPUnit的新手,所以我想知道实现相同的建议方法(运行一个具有许多实际预期结果的单元测试)?

1 个答案:

答案 0 :(得分:18)

您可以使用所谓的data provider。像这样:

/**
 * @dataProvider providerPersonData
 */
public function testPerson($name, $age) {
    // test something ...
}

public function providerPersonData() {
    // test with this values
    return array(
        array('foo', 36),
        array('bar', 99),
        // ...
    );
}

使用@dataProvider注释定义数据提供者。