我是编程新手(所以不要太苛刻),我们的导师从一开始就在推动我们使用 TDD 进行开发。
我正在做一个选择随机名称的小程序。我的一项测试试图测试相同的名称不会被选中两次,但测试并不总是通过。
这是随机选择某人的功能。我选择 shift method() 是因为它删除了数组的第一个元素。
public function random($coders) {
$coders = ['Paul', 'John', 'Brad'];
shuffle($coders);
$pickedCoder = array_shift($coders);
return $pickedCoder;
}
这是测试:
public function testCoderNotKilledTwice()
{
$coders = ['Paul', 'John', 'Brad'];
$killer = new Killer();
$deadCoder1 = $killer->random($coders);
$deadCoder2 = $killer->random($coders);
$this->assertNotEquals($deadCoder1, $deadCoder2);
}
我究竟做错了什么?
弑天下