【发布时间】:2013-09-12 05:14:58
【问题描述】:
我有一个函数,它返回 0 到 6 之间的三个随机元素数组。它确保所有元素不能具有相同的值(您可以有两个具有相同值的元素,但不能有三个)。以下是示例代码。
public function getRandom() {
$array = array(0, 0, 0);
do {
$array[0] = rand(0, 6);
$array[1] = rand(0, 6);
$array[2] = rand(0, 6);
} while(($array[0] == $array[1]) && ($array[0] == $array[2]));
return $array;
}
我对单元测试有点陌生,我唯一能想到测试这个的是
- 测试此函数 1000 次,检查它是否返回 0 到 6 之间的数据,并且所有三个元素的值不能相同。
- 找到一种方法来覆盖函数 rand() 以便它返回我们想要的:
- 返回值使所有三个元素具有相同的值,然后,返回具有相同值的两个元素的值。然后,返回具有不同值的所有元素的值。
我想知道是否有任何方法或者我的哪种方法更适合这种情况。
【问题讨论】:
标签: php unit-testing phpunit