2016-03-26 4 views
1

Я просматриваю главу EUnit в Learn You Some Erlang, и одна вещь, которую я замечаю из всех образцов кода, - это функции тестирования, которые никогда не объявляются в статьях -export().Почему Eunit не требует выполнения тестовых функций?

Почему EUnit способен выбирать эти тестовые функции?

ответ

2

From the documentation:

Самый простой способ использовать EUnit в модуле Erlang, чтобы добавить следующую строку в начале модуля (после -module декларации, но до каких-либо определений функций):

-include_lib("eunit/include/eunit.hrl"). 

Это будет иметь следующий эффект:

  • Создает экспортируемую функциюtest() (если тестирование не будет выключено, и модуль уже не содержит функцию теста()), которые могут быть использованы для запуска всех модульных тестов, определенных в модуле

  • Заставляет все функции, чьи имена соответствуют..._test() или ..._test_()быть автоматически экспортируются из модуля (если тестирование не будет выключен или EUNIT_NOAUTO макрос определен)

Смежные вопросы