Из мира питона, очень полезны светильники (Fixtures определяет контракт на Python для многоразовой логики состояния/поддержки, в первую очередь для модульного тестирования). Мне было интересно, есть ли подобная поддержка в Голанге, которая может позволить мне запускать мои тесты с помощью некоторых предопределенных приспособлений, таких как настройка сервера, разрывание его, выполнение повторяющихся задач каждый раз при запуске теста? Может ли кто-нибудь указать мне на некоторые примеры того, как делать то же самое в Голанге?Светильники в тестах Голанг
ответ
Если вы хотите использовать стандартные инструменты тестирования Go, вы можете определить функцию с подписями TestMain(m *testing.M)
и разместить там свой код прибора.
Иногда необходимо для теста программы, чтобы сделать дополнительные настройки или демонтажа до или после тестирования. Иногда также необходимо, чтобы тест контролировал, какой код работает в основном потоке. Для поддержки этих и других случаев, если тестовый файл содержит функцию:
func TestMain(m *testing.M)
тогда генерируемый тест будет вызывать TestMain (м) вместо выполнения тестов непосредственно. TestMain запускается в главном goroutine и может выполнять любую настройку и разборку при вызове m.Run. Затем он должен вызвать os.Exit с результатом m.Run. Когда вызывается TestMain, флаг.Parse не запускается. Если TestMain зависит от флагов командной строки, в том числе от тестового пакета, он должен вызывать flag.Parse явно.
Простая реализация TestMain является:
func TestMain(m *testing.M) { flag.Parse() os.Exit(m.Run()) }
- 1. Использовать светильники в тестах интеграции
- 2. покрытие голанг-кода в тестах интеграции?
- 3. Как сделать светильники обновляемыми в тестах Rails?
- 4. Yii блок-тестов светильники не доступны в тестах
- 5. Все светильники в рельсах
- 6. Голанг. Получить панического типа
- 7. Голанг и параллелизм
- 8. Светильники в сыром Python?
- 9. Django - Светильники в XML
- 10. Как я могу использовать светильники из «манекена» в тестах двигателя Rails?
- 11. Лучшая практика привязки обработчиков событий в тестах Жасмина, которые используют светильники?
- 12. Голанг ломтики проходят по значению?
- 13. Сеть/Голанг - Анатомия запроса «GET»
- 14. Голанг, процессы и общая память
- 15. Голанг, как избежать обратных тиков
- 16. Голанг присоединяется к фрагменту типа
- 17. Голанг работает на виртуальной машине?
- 18. Голанг. Помогите оптимизировать кусок кода
- 19. Голанг добавляет предмет на ломтик
- 20. Загрузочные устройства Django (не из установленных приложений) в тестах
- 21. Рельсы удаляют стойкие светильники из тестов
- 22. Загрузка светильники в парусах тестируют
- 23. Итерация через светильники в шаблоне
- 24. Как перезагрузить светильники в тесте
- 25. Ember mirage server не определен в тестах
- 26. Указатели на разглашение в тексте Голанг/шаблон
- 27. Чтение с каналов голанг в порядке
- 28. Утечка памяти Голанг в отношении горутов
- 29. Методы окутывания в модульном тестировании Голанг
- 30. Как напечатать новые строки в шаблоне Голанг?
Заканчивать [гинкго] (https://onsi.github.io/ginkgo), который имеет '' BeforeEach' и AfterEach'. – PieOhPah
Спасибо @ pie-o-pah – psbits