單元測試時,如果測試相同方法的邊緣情況需要單獨的測試方法。例如,在測試傳遞給下面的函數一個空字符串:單元測試 - 邊緣案例需要單獨的測試方法嗎?
public function add($numbers)
{
$numbers = preg_replace('/\s/', '', $numbers);
if ($numbers === "") {
return 0;
}
}
我當然想抓住邊緣的情況下,如:
""
" "
"\t \n"
"asd"
等
那麼有多少測試方法是要求證明這種方法有效嗎?
public function testAddEmptyString()
{
$stringCalculator = new StringCalculator();
$this->assertSame(0, $stringCalculator->add(""));
}
public function testAddEmptyStringWithSpaces()
{
$stringCalculator = new StringCalculator();
$this->assertSame(0, $stringCalculator->add(" "));
}
public function testAddEmptyStringWithCharacters()
{
$stringCalculator = new StringCalculator();
$this->assertSame(0, $stringCalculator->add("asd"));
}
這似乎是測試類會包含什麼不平凡