#php #html #object #testing
#php #HTML #объект #тестирование
Вопрос:
я получаю этот тест, и мне нужно написать код, который пройдет.
Но только то, что я могу получить: «Не удалось подтвердить, что 1 соответствует ожидаемым 6 » если я возвращаю 6, я получаю » Слишком мало аргументов для работы в строке 18 и ровно 3 ожидаемых «.
Это тест :
public function powerTest()
{
$calculator = new Calculator();
$this->assertEquals(6, $calculator->power(1,2,3));
$this->assertEquals(0, $calculator->power());
}
Это мой код :
public function power(int $int, int $int1, int $int2)
{
return 1;
}
Комментарии:
1. Я думаю, что это говорит о том, что вам нужно изменить
return 1;
, чтобы быть правильным кодом для вычисления нужного вам значения.
Ответ №1:
Утверждения по определению требуют, чтобы условие было истинным; в противном случае они генерируют исключение. В этом случае ваше первое утверждение требует, чтобы результат $calculator->power(1, 2, 3)
равнялся 6, чего не происходит. Он возвращает 1.
6 ! = 1, поэтому он завершается неудачей.
Второй не предоставляет аргументов функции power $calculator->power()
. Ваша функция power имеет 3 аргумента, и все они обязательны. Не предоставление достаточного количества аргументов приведет к ошибке слишком мало аргументов.
Вы можете сделать аргументы необязательными, указав значение по умолчанию.
function foo($bar = true)