Я обновляю приложение grails с 2.4.3 до 3.0.8. Существует множество интеграционных тестов, которые используют grails.util.GrailsWebUtil.bindMockWebRequest(grailsApplication.mainContext)
, следующих по вызову controller.method
. Но я обнаружил, что grails.util.GrailsWebUtil
больше не содержит метода bindMockWebRequest
, похоже, что он был заменен на grails.util.GrailsWebMockUtil
, но все сервисы, объявленные в контроллере, не вводятся в класс. Я мог бы использовать grails.test.spock.IntegrationSpec
, но этот класс также был удален из grails3. Существует suggestion для использования функциональных тестов для тестирования интеграции контроллеров, но это решение не работает для меня, я не хочу выполнять все эти тесты как функциональные или вручную вводить зависимости в экземпляры контроллера, как я могу его исправить ?тест интеграции контроллеров grails3: услуги не вводятся
ответ
Использование grails.test.mixin.integration.Integration
аннотация вместо grails.test.spock.IntegrationSpec
расширение класса.
И переместите интеграционные тесты на src/integration-test/groovy
.
Я модернизируюсь от Grails 2.5.1 до 3.2.4. Один из моих интеграционных тестов не смог найти службу, которую я ввел с помощью def xxxService. Я включил службу в список @Mock. XxxServiceIntegrationSpec расширяет спецификацию.
Я знаю, что это не совсем относится к тестовым контроллерам, но, возможно, это помогает?
У нас были дозоны интеграции контроллеров в нашем старом приложении grails 2.x. Когда мы перешли на grails 3, мы хотели сохранить его, не могли их бросить и писать функциональные тесты с нуля.
Здесь я писал о его Integration testing controllers with Grails 3
Основные шаги - настройка макета запроса и ответа - установить имя текущего контроллера - остальное фиктивный запрос и ответ в конце теста
See вышеупомянутое сообщение в блоге для полного примера.
Надеюсь, это поможет.
- 1. Тест интеграции интеграции SEAM
- 2. Тест интеграции интеграции Grails
- 3. Тест интеграции интеграции Akka
- 4. Тест интеграции интеграции весны
- 5. тест интеграции интеграции Grails 2
- 6. Тест интеграции интеграции Spring WS не найден.
- 7. Тест интеграции интеграции с Laravel
- 8. Тест интеграции интеграции Spring @PathVariable
- 9. grails3 jquery не найден
- 10. Весенний тест MVC (тест интеграции интеграции), JSESSIONID нет
- 11. Тест интеграции с Rails
- 12. Тест весенней интеграции
- 13. Тест интеграции перед другими
- 14. Grails 2.4.4: услуги не инъекционные: интеграционный тест
- 15. Jenkins + Rspec + тест интеграции интеграции Capybara
- 16. Тест интеграции весны
- 17. Тест интеграции интеграции ASP.NET и websecurity
- 18. Тест интеграции интеграции Spring Framework NullPointer Java
- 19. Тест интеграции интеграции Spock & Spring Boot
- 20. Тест интеграции интеграции с rspec/devise
- 21. Тест интеграции интеграции верблюдов Apache - NotifyBuilder
- 22. Тест интеграции интеграции Spring Framework Java
- 23. инжинирует коммунальные услуги на тест жасмина
- 24. Как настроить тест интеграции на основе интеграции
- 25. Тест интеграции интеграции DATA/JTA/JPA не откат?
- 26. REST весенние услуги и передовые методы интеграции веб-интеграции JQUERY
- 27. Тест-драйв Grails3 для класса домена с производным свойством
- 28. Тест интеграции с пружиной - AuthenticationPrincipal не вставляется
- 29. Тест интеграции Maven, не работающий с Spring
- 30. интеграции тест рельсы не работает логин
'ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) grailsApplication.getMainContext(); ctx.getBeanFactory(). AutowireBeanProperties (контроллер, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false); '- может быть решением – airfox
Вот полный пример того, как писать интеграционные тесты для контроллера с grails 3 http://nimavat.me/blog/grails3-контроллер интеграция тест-пример –