Include `ErrorAttributes` in @WebMvcTest
Import the additional auto-configuration classes required for `ErrorAttributes` and change the filter so that it's no longer hidden. Fixes gh-7867
This commit is contained in:
		
							parent
							
								
									803eddf6b2
								
							
						
					
					
						commit
						e015e13b4d
					
				|  | @ -21,6 +21,7 @@ import java.util.Collections; | |||
| import java.util.LinkedHashSet; | ||||
| import java.util.Set; | ||||
| 
 | ||||
| import org.springframework.boot.autoconfigure.web.ErrorAttributes; | ||||
| import org.springframework.boot.context.TypeExcludeFilter; | ||||
| import org.springframework.boot.jackson.JsonComponent; | ||||
| import org.springframework.boot.test.autoconfigure.filter.AnnotationCustomizableTypeExcludeFilter; | ||||
|  | @ -54,6 +55,7 @@ class WebMvcTypeExcludeFilter extends AnnotationCustomizableTypeExcludeFilter { | |||
| 		includes.add(FilterRegistrationBean.class); | ||||
| 		includes.add(DelegatingFilterProxyRegistrationBean.class); | ||||
| 		includes.add(HandlerMethodArgumentResolver.class); | ||||
| 		includes.add(ErrorAttributes.class); | ||||
| 		DEFAULT_INCLUDES = Collections.unmodifiableSet(includes); | ||||
| 	}; | ||||
| 
 | ||||
|  |  | |||
|  | @ -79,7 +79,9 @@ org.springframework.boot.autoconfigure.MessageSourceAutoConfiguration,\ | |||
| org.springframework.boot.autoconfigure.mustache.MustacheAutoConfiguration,\ | ||||
| org.springframework.boot.autoconfigure.thymeleaf.ThymeleafAutoConfiguration,\ | ||||
| org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration,\ | ||||
| org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration,\ | ||||
| org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration,\ | ||||
| org.springframework.boot.autoconfigure.web.ServerPropertiesAutoConfiguration,\ | ||||
| org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration | ||||
| 
 | ||||
| # DefaultTestExecutionListenersPostProcessors | ||||
|  |  | |||
|  | @ -24,9 +24,11 @@ import org.junit.rules.ExpectedException; | |||
| import org.junit.runner.RunWith; | ||||
| 
 | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.autoconfigure.web.ErrorAttributes; | ||||
| import org.springframework.test.context.junit4.SpringRunner; | ||||
| import org.springframework.test.web.servlet.MockMvc; | ||||
| 
 | ||||
| import static org.assertj.core.api.Assertions.assertThat; | ||||
| import static org.hamcrest.CoreMatchers.isA; | ||||
| import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; | ||||
| import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content; | ||||
|  | @ -48,6 +50,9 @@ public class WebMvcTestAllControllersIntegrationTests { | |||
| 	@Autowired | ||||
| 	private MockMvc mvc; | ||||
| 
 | ||||
| 	@Autowired(required = false) | ||||
| 	private ErrorAttributes errorAttributes; | ||||
| 
 | ||||
| 	@Test | ||||
| 	public void shouldFindController1() throws Exception { | ||||
| 		this.mvc.perform(get("/one")).andExpect(content().string("one")) | ||||
|  | @ -78,4 +83,10 @@ public class WebMvcTestAllControllersIntegrationTests { | |||
| 		this.mvc.perform(get("/three/invalid")); | ||||
| 	} | ||||
| 
 | ||||
| 	@Test | ||||
| 	public void shouldNotFilterErrorAttributes() throws Exception { | ||||
| 		assertThat(this.errorAttributes).isNotNull(); | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue