Eunit timeout не работает - PullRequest
       16

Eunit timeout не работает

2 голосов
/ 04 декабря 2009

Я пытаюсь запустить все модульные тесты, используя eunit внутри папки, но кажется, что время ожидания всегда сбрасывается на 5 секунд.

, например

Модуль:

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

main_test() ->
    % sleep for 10 seconds
    ?assertEqual(true, begin timer:sleep(10000), true end).

Командная строка:

Eshell V5.7.3  (abort with ^G)
1> c(example).
{ok,example}
2> eunit:test({timeout, 15, example}).
  Test passed.
ok
3> eunit:test({timeout, 15, {dir, "."}}).
example: main_test (module 'example')...*timed out*
undefined
=======================================================
  Failed: 0.  Skipped: 0.  Passed: 0.
One or more tests were cancelled.
error

Как видите, запуск {timeout, 15, example} работает, но не {timeout, 15, {dir, "."}}. У кого-нибудь есть подсказка?

1 Ответ

6 голосов
/ 04 декабря 2009

Для меня это имеет смысл: время ожидания для всего каталога, вероятно, не связано с временем ожидания для отдельных тестов.

Я бы написал такой тест:

main_test_() ->
    % sleep for 10 seconds
    {timeout, 15, ?_assertEqual(true, begin timer:sleep(10000), true end)}.

(Подчеркивание добавлено для создания выражения теста вместо самого теста; все это в руководстве eunit . Я не думаю, что можно указать время ожидания в самом тесте каким-либо другим способом. )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...