ExUnit.Case по умолчанию для использования `async: true` - PullRequest
0 голосов
/ 26 февраля 2019

В документах для ExUnit.Case указано, что для параметра :async по умолчанию установлено значение false и «должно быть включено, только если тесты не изменяют какое-либо глобальное состояние».В проекте, над которым я работаю, <1% наших тестов изменяют глобальное состояние, но люди часто забывают добавить <code>async: true в случаи, которые должны быть асинхронными.

Есть ли способ для проекта вместо этогопо умолчанию от :async до true?

Лучшее решение, которое я до сих пор придумал, - это создать свой собственный шаблон дела, который передает мой собственный стандарт по умолчанию в use ExUnit.Case, но я бы хотел избежатьчто если я могу.Это кажется немного странным, и я чувствую, что тогда люди просто забыли бы использовать шаблон пользовательского случая.Если есть способ установить его в конфигурации, я не нахожу его в документации, я думаю, это больше, чем нужно.

1 Ответ

0 голосов
/ 26 февраля 2019

Как видно из исходного кода, атрибут async идет напрямую только из опций .

Возможно, запрос на получение выполняется примерно так:

- async = !!unquote(opts)[:async]
+ async = Keyword.get(
+   unquote(opts),
+   :async,
+   Application.get_env(:ex_unit, :async_all, false)
+ )
...