Почему файл бегуна каратэ не запускается перед запуском файлов компонентов, когда запускается файл Junit4 Test.java для тестов - PullRequest
2 голосов
/ 06 мая 2019

Карате предлагает, чтобы для запуска всех тестов в среде CI, файл * Test.java был добавлен над файлами объектов (в иерархии), а затем запущен с использованием команды - mvn test. Я использую свой файл Runner.java для создания тестовых данных до их запуска, а затем выполняю очистку. Я запускаю этот файл запуска в IDE, и все работает нормально - создаются данные, запускаются все файлы компонентов в одном пакете, а затем выполняется очистка. Причина, по которой я использовал файл Runner для создания данных, заключается в том, что я сам использую карате для создания тестовых данных, а файл Runner передает некоторую информацию о созданных данных в файлы объектов для запуска тестов API. Ранее я уже писал вопрос о том, как этого добиться, пожалуйста, обратитесь к этому ответу - https://stackoverflow.com/a/55931786/4741035

Так что теперь у меня есть файл * Test.java в моем проекте, который я запускаю, используя - mvn test. При этом запускаются все файлы объектов и тесты не выполняются, так как Runner.java вообще не выполняется.

Почему каратэ не запускает файл Runner, если он присутствует первым в файлах объектов?

Помощь очень ценится.

1 Ответ

1 голос
/ 06 мая 2019

Если вы пытаетесь запустить что-то «один раз» перед всеми вашими тестами, используйте karate.callSingle(), задокументированное здесь: https://github.com/intuit/karate#hooks

var result = karate.callSingle('classpath:demo/headers/common-noheaders.feature', config);

И в вышеупомянутой функции (или JS) вы можете вызывать код Java с помощью взаимодействия Java.

Кстати, я не согласен с ответом, который вы связали из-за вышеуказанных подходов.

...