следующий сценарий:
public class InputFilter(){
public function isInputValid($input) : bool
{
$isValid = false;
if($inputA && $inputB && $inputC){
return true;
}
if($inputD && $inputE){
return true;
}
...
return $isValid;
}
}
public Test(){
//1. TestCase
isInputValid_ValidInputABCGiven_ShouldReturnTrue(){
$input[a => true, $b => true, c => true, d => false, e => false]
assertSame(true, InputFilter->isInputValid, '')
}
//2. TestCase
isInputValid_ValidInputBCGiven_ShouldReturnTrue{
$input[a => false, $b => false, c => false, d => true, e => true]
assertSame(true, InputFilter->isInputValid, '')
}
}
Я действительно не знаю, как проверить этот сценарий, вероятно.
Давайте представим, что первый контрольный пример проваливается, тогда я не знаю, связано ли это с тем, что
первый оператор if (a && b && c) потерпел неудачу или второй оператор if (d && e) имеет проблему.
если второй тест также не пройден, я бы понятия не имел, какое из этих утверждений вызвало сбой. Настоящая проблема имеет несколько таких условий, если ...
есть ли способ проверить метод, чтобы я знал, почему тест не удался?