У меня есть некоторый вспомогательный тестовый код в моей библиотеке golang, который я хочу использовать при тестировании в различных подпакетах. Однако я наткнулся на загвоздку:
outer
|
+- test_helpers_test.go
|
+- inner
|
+- something.go
+- something_test.go
Чтобы использовать код в test_helpers_test.go
, я должен импортировать внешний пакет. Но когда я импортирую внешний пакет из something_test.go
, он выдает «цикл импорта не разрешен в тесте»
Итак, я попытался создать пакет для общих помощников по тестированию:
outer
|
+- test
| |
| +- test_helpers_test.go
|
+- inner
|
+- something.go
+- something_test.go
И теперь он жалуется на то, что "нет файлов Go без проверки в / home / karl / Projects / outer / test"
Я не хочу называть это test_helpers.go
, потому что это часть моего кода тестирования, а не код моей библиотеки. Я не хочу отправлять этот код в библиотеку.
Как мне решить эту проблему?
Обновление: я могу обойти эту проблему, создав файл dummy.go
в каталоге test
, но теперь появилась новая проблема: импорт пакета НЕ импортирует его тестовый код! Итак, теперь я получаю: ./something_test.go:12:2: undefined: test.AssertDoesPanic