Выполнение всех юнит-тестов в Dart - PullRequest
1 голос
/ 19 января 2020

Я работаю над проектом Flutter и пытаюсь найти лучший способ структурировать свои тесты. Обычно я структурирую тесты, чтобы отразить структуру каталогов основного проекта, который тестируется.

lib
 |models
 |providers
   |userprovider.dart
test
 lib
   |models
   |providers
     |userproviderShould.dart  

Однако у меня возникают проблемы с выяснением, является ли этот подход менее оптимальным для кода Дартс. Кажется, что каждый файл в тестовом проекте должен иметь метод main, который кажется странным. Я также не понимаю, как запустить весь набор тестов. Запущенный тест Flutter (flutter test), похоже, не понимает каталоги. Запуск flutter test test/lib/providers не работает, в то время как flutter test test/lib/providers/userproviderShould.dart работает. Если он не понимает каталоги, он, конечно, не понимает необходимости переходить в каталоги.

Есть ли способ решить эту проблему, не требующий создания точки входа fr agile, которая вручную включает все остальные тесты, или написания сценария оболочки для go запуска каждого файла в индивидуальном порядке?

Ответы [ 2 ]

5 голосов
/ 19 января 2020

Если вы хотите, чтобы flutter test или pub run test выполнили файл, не передавая вручную его путь в качестве параметра для команды, тогда файл должен:

  • находиться внутри папки /test
  • его имя должно содержать суффикс _test.dart

Все, что не имеет этого _test, не будет выполнено из командной строки.

0 голосов
/ 03 февраля 2020

Чтобы запустить все модульные тесты в проекте, введите в терминале одну из следующих команд:

Проект флаттера

flutter test

Проект дротика

pub run test

Примечания : Я пишу это для себя и будущих посетителей, а не ОП. Я всегда забываю команды. Они включены в проницательный ответ Реми Русселе, но сначала было неясно, нужно ли мне что-то еще добавить к ним. См. Также документацию .

...