Посмотрел видео, повторил.
1 2 3 4 5 6 7 |
function TfSomeProgram.CalcMy2Numbers(a, b: integer): Integer; var myAVar:Integer; begin myAVar:=a+b; result:=MyAVar; end; |
Добавляем тестовый проект
Добавляем тест к тестовому проекту и настраиваем его
В результате у нас получается что-то такое – скелет для тестирования приложений по отмеченным функциям
Далее, правим функцию, добавляем (nil)
1 2 3 4 |
procedure TestTfSomeProgram.SetUp; begin FSomeProgram := TfSomeProgram.Create(nil); end; |
Ну и собственно сама функция тестирования
1 2 3 4 5 6 7 8 9 10 11 12 13 |
procedure TestTfSomeProgram.TestCalcMy2Numbers; var ReturnValue: Integer; b: Integer; a: Integer; begin a:=12; // adding param values b:=12; // ReturnValue := FfSomeProgram.CalcMy2Numbers(a, b); // CheckEquals(24,ReturnValue,'Bad'); CheckNotEquals(24,ReturnValue,'Bad'); Status('Success'); end; |
В видео-примере указаны 2 функции – CheckEquals и CheckNotEquals, которые собственно проверяют – равно ли такое-то значение или не равно заданному. Сам тест выглядит так…
В данном случае тест провален, потому что мы проверяли, что значение должно быть не равно 24. А оно оказалось равно.
То есть, мы увидели, что такая-то функция не работает.
По аналогии можно проверить равна ли такая то функция какому то значению через CheckEquals, вообще там полно этих функций Check. Также в видео приводится пример с Assert, который перехватывается модулем тестирования.