2016-04-05 5 views
0

Как изменить тайм-аут для eunit в конфигурации rebar3?Предотвращение выхода eunit из тайм-аута при запуске тестов Triq

Мой eunit бегун таймаут, когда я бегу собственности на основе Triq тесты:

===> Verifying dependencies... 
===> Compiling ierminer 
===> Performing EUnit tests... 

Pending: 
    test_ec:ec_prop_test/0 
    %% Unknown error: timeout 
    undefined 
    %% Unknown error: {blame,[3,1]} 


Finished in ? seconds 
3 tests, 0 failures, 3 cancelled 
===> Error running tests 

Вот моя собственность спецификация:

-module(ec_property). 
-include_lib("triq/include/triq.hrl"). 

prop_append() -> 
    ?FORALL({Xs,Ys},{list(int()),list(int())}, 
      lists:reverse(Xs++Ys) 
      == 
      lists:reverse(Ys) ++ lists:reverse(Xs)). 

prop_valid_started() -> 
     ?FORALL({Type, Items, Size}, 
     {oneof([left,right]), non_empty(list(any())), pos_integer()}, 
      element(1, ec:start(Type, Items, Size)) == ok). 

и вот как я называю это из моего eunit теста функция:

ec_prop_test() -> ?assert(ec_property:check()). 

ответ

2

Используйте test generator function, чтобы уточнить время ожидания дольше, чем по умолчанию 5 секунд:

ec_prop_test_() -> 
    {timeout, 30, ?_assert(ec_property:check())}. 

Примечания тянущегося подчеркивания добавлено к имени функции — вот как создать тестовый генератор. Обратите внимание также на верхнее подчеркивание на _assert, что является одним из способов создания тестового объекта.

Измените 30 в примере на любое количество секунд, в котором вы нуждаетесь.