我有以下课程:
namespace Utils\Random;
class RandomHelper
{
const LUCKY_NUMBER=3;
public static function lucky()
{
return rand(0,6)==self::LUCKY_NUMBER;
}
}
我想使用单元测试来测试这个类:
namespace Tests\Random;
use PHPUnit\Framework\TestCase;
class RandomHelperTest extends TestCase
{
public function testLucky()
{
// Mock rand here
// Here I want the rand return a value that is not 3
}
public function testLuckyFails()
{
// Mock rand here
// Here I want the rand return a value that is not 3
}
}
但是为了让我的测试成为单元测试,我想模拟 php 标准函数rand,以便能够在我的测试中获得恒定的结果。
正如您所看到的,我的需求存在冲突,因此该解决方案似乎不适合我。在一个测试中,我想检查该方法lucky何时变为真,另一方面,我希望能够在函数幸运时返回假。
那么你有什么想法可以这样做吗?
GCT1015