Использование модуля в окончательной версии
До этого момента разговор шел о тестовых процедурах и о выполнении серии тестов при вызове Tests.Execute. Допустим, все тесты проходят успешно и мы решили скомпилировать окончательную версию продукта. Если вызов Tests.Execute и тестирующие методы заключены в директивы условной компиляции это сделать не сложно. При отключении соответствующей директивы мы получаем скомпилированную версию без части кода, относящейся к тестированию.

Но было бы неплохо, если часть сообщений по-прежнему сохранялась в файл и была бы возможность отследить появление ошибки в момент выполнения окончательной версии у пользователя. И такая возможность есть.

Для этого нужно сделать вызов Tests.Init:

pascal
(*$define test*)
begin
   tests.Init;
   (*$ifdef test*)
   tests.Execute;
   (*$endif*)
   //...

В отладочной версии этот вызов не вносит ничего нового. А в окончательной версии (при отстутсвии tests.Execute) подключает возможности модуля. Подробней особенности использования модуля в окончательной версии описаны в следующих разделах.

Copyright © 2009-2014 by