В чем разница между @AutoConfigureWebMvc и @AutoConfigureMockMvc?

В каком случае я должен использовать каждый из них?


person Ekaterina    schedule 21.09.2017    source источник
comment


Ответы (1)


@AutoConfigureWebMvc

Используйте это, если вам нужно настроить веб-слой для тестирования, но не нужно использовать MockMvc

Он включает всю автоматическую настройку, связанную с веб-слоем, и ТОЛЬКО веб-уровень. Это подмножество общей автоматической настройки.

Он включает в себя следующую автоматическую настройку (см. spring.factories)

# AutoConfigureWebMvc auto-configuration imports
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureWebMvc=\
org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\
org.springframework.boot.autoconfigure.freemarker.FreeMarkerAutoConfiguration,\
org.springframework.boot.autoconfigure.groovy.template.GroovyTemplateAutoConfiguration,\
org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration,\
org.springframework.boot.autoconfigure.hateoas.HypermediaAutoConfiguration,\
org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration,\
org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration,\
org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration,\
org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\
org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration,\
org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\
org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration,\
org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration

@AutoConfigureMockMvc

Используйте это, когда вы просто хотите настроить MockMvc

Включает все автонастройки, относящиеся к MockMvc и ТОЛЬКО MockMvc. Опять же, это подмножество общей автоматической настройки.

Он включает в себя следующую автоматическую настройку (см. spring.factories)

# AutoConfigureMockMvc auto-configuration imports
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc=\
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcAutoConfiguration,\
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcSecurityAutoConfiguration,\
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebClientAutoConfiguration,\
org.springframework.boot.test.autoconfigure.web.servlet.MockMvcWebDriverAutoConfiguration

@WebMvcTest

Включает в себя как @AutoConfigureWebMvc, так и @AutoConfigureMockMvc, среди других функций.

person dustin.schultz    schedule 11.02.2018