Правильный способ справиться с тестами очистки в дротике - PullRequest
0 голосов
/ 17 марта 2020

Поскольку тест dart параллельный, я столкнулся с проблемой, что еще два класса, использующие одну и ту же папку, не могут быть удалены должным образом.

Давайте рассмотрим структуру папок:

Utility
- a_utility
- b_utility

, потому что Utility может быть пустым, AUtilityClasss автоматически создаст Utility и sub-direcoty a_utility, и будет очищено в teardown(). Поэтому я удаляю Utility в teardown(), чтобы быть уверенным, что следующий тест не будет зависимым от предыдущего.

Но тест дротика параллелен по умолчанию, если есть два класса (BUtilityClasss, CUtilityClasss, ...) которые зависят от того же каталога, teardown() может привести к ошибке (Ошибка: Can't delete because of in used или Already Deleted) и может также повлиять на тесты в других b_utiliy_test.dart, которые не будут выполнены. Текущий обходной путь, который я пытался предотвратить в этой ситуации, состоит в том, чтобы назначить -j1 аргумент, и нет двух параллельных тестов, поэтому он будет безопасным.

Поэтому речь идет о двух вопросах.

  1. Как проверить, что два класса используют один и тот же каталог?
  2. Реконструировать классы в одном классе, чтобы соответствовать тесту?

Я не могу найти ни одного обсуждения, любая информация приветствуется!

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