如何对循环对象的函数进行单元测试?

时间:2014-10-03 06:22:12

标签: php unit-testing phpunit

让我解释一下自己。

function insertObjects($objs) {
    foreach ($objs as $obj) {
        $this->repository->insert($obj);
    }
}

我不想测试插入数据库是否有效,因为我认为它有效(它是一个不同的单位)。我也不想测试foreach,因为显然foreach会起作用。因此,唯一要测试的是$ objs是一个格式良好的数组。但是如果$ objs是我将要传递的模拟数据......那么这是否意味着没有什么可以测试这个函数?

1 个答案:

答案 0 :(得分:1)

如果有任何无效输入的可能性(一个格式不正确的数组,空值等),你需要通过显式检查它来处理你的方法中的这种情况。

在测试中,您将尝试使用各种无效值调用您的方法,并检查您的方法是否正确响应,即不调用数据库插入方法,抛出异常,记录错误等。

除此之外,唯一要测试的是使用与传入的有效测试数组中的值对应的参数调用数据库插入方法。

相关问题