web-dev-qa-db-ja.com

@AutoConfigureWebMvcと@AutoConfigureMockMvcの違いは何ですか?

どちらを使用すればよいですか?

10
Ekaterina

@ AutoConfigureWebMvc

テスト用にWebレイヤーを構成する必要があるが、MockMvcを使用する必要がない場合は、これを使用します

これは、Webレイヤーに関連するすべての自動設定と[〜#〜] only [〜#〜]Webレイヤーを有効にします。これは、全体的な自動設定のサブセットです。

次の自動設定が含まれます( 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、その他の機能の中でも。

13
dustin.schultz