测试函数的测试用例 phpunit
Test cases to test a function phpunit
我是 php 单元测试的新手,以下功能的有效测试用例是什么。
protected function validateParams($graph, $start, $destination)
{
if (!is_object($graph)) {
throw new \InvalidArgumentException('Graph param should be an object !');
}
if (empty($start)) {
throw new \InvalidArgumentException('Start param is empty !');
}
if (empty($destination)) {
throw new \InvalidArgumentException('Graph param is empty !');
}
return true;
}
首先,测试当向方法传递正确的参数时,它 returns true
.
public function testParamsValidation();
然后检查是否在任何参数为空时抛出 InvalidArgumentException
。请注意,您应该有 3 个测试,每个参数一个。在每个测试中,您只传递一个空参数。您可能希望使用不同的参数值(如 null、false、标量等)多次执行这些测试中的每一个。为此使用 dataProviders。
public function testInvalidArgumentExceptionIsThrownWhenGraphIsNotAnObject(;
public function testInvalidArgumentExceptionIsThrownWhenStartIsEmpty();
public function testInvalidArgumentExceptionIsThrownWhenDestinationIsEmpty();
旁注:您可能想在方法定义中显式指定所需的对象 class。 $graph对象应该是某个class或者实现某个接口?
我是 php 单元测试的新手,以下功能的有效测试用例是什么。
protected function validateParams($graph, $start, $destination)
{
if (!is_object($graph)) {
throw new \InvalidArgumentException('Graph param should be an object !');
}
if (empty($start)) {
throw new \InvalidArgumentException('Start param is empty !');
}
if (empty($destination)) {
throw new \InvalidArgumentException('Graph param is empty !');
}
return true;
}
首先,测试当向方法传递正确的参数时,它 returns true
.
public function testParamsValidation();
然后检查是否在任何参数为空时抛出 InvalidArgumentException
。请注意,您应该有 3 个测试,每个参数一个。在每个测试中,您只传递一个空参数。您可能希望使用不同的参数值(如 null、false、标量等)多次执行这些测试中的每一个。为此使用 dataProviders。
public function testInvalidArgumentExceptionIsThrownWhenGraphIsNotAnObject(;
public function testInvalidArgumentExceptionIsThrownWhenStartIsEmpty();
public function testInvalidArgumentExceptionIsThrownWhenDestinationIsEmpty();
旁注:您可能想在方法定义中显式指定所需的对象 class。 $graph对象应该是某个class或者实现某个接口?