使用
phpspec,是否可以使用注释或类似值运行具有多个值的相同测试?
例如,假设我有以下测试:
public function it_should_return_sum_of_numbers_passed()
{
$number1 = 1;
$number2 = 1;
$expectedresult = $number1 + $number2;
$this->add($number1, $number2)->shouldReturn($expectedResult);
}
没关系。 但它只测试一组参数。 传递 -1 和 1、-1 和 -2 等怎么样? 公平地说,这是一个大大简化的场景,但这意味着必须为每个边缘情况创建一个新方法。
phpspec 中没有数据提供程序(至少现在还没有)。你必须做这样的事情:
public function it_should_return_sum_of_numbers_passed()
{
$examples = array(
array(1, 2, 3),
array(-1, 1, 0),
array(-1, -2, -3)
);
foreach ($examples as $example) {
$number1 = $example[0];
$number2 = $example[1];
$expectedResult = $example[2];
$this->add($number1, $number2)->shouldReturn($expectedResult);
}
}