問(wèn)題在測(cè)試Controller時(shí),不希望測(cè)試方法走攔截器。經(jīng)過(guò)百度,使用的方法就是加入@ComponentScan的@excludeFilters注解。但這行代碼只能在程序的主入口上起作用,如果加到Test的基類(lèi)上是沒(méi)有任何反應(yīng)的。我希望在測(cè)試時(shí)忽略Spring的自動(dòng)注入并且不影響主程序的行為。謝謝這是啟動(dòng)程序的入口/***Springcouldweb程序主入口*/@Configuration//配置控制@EnableAutoConfiguration//啟用自動(dòng)配置@EnableFeignClients(basePackages={"com.konyo.service.client","com.konyo.activiticommon.client","com.konyo.teleport.common.inteceptor"})@MapperScan(value={"com.konyo.service.dao","com.konyo.activiticommon.mapper"})@ComponentScans(value={@ComponentScan(value={"com.konyo.teleport","com.konyo.service","com.konyo.activiticommon"})//組件掃描})@EnableDiscoveryClient@EnableEurekaClient@SpringBootApplicationpublicclassJsGfrcServiceApplication{publicstaticvoidmain(String[]args){SpringApplication.run(JsGfrcServiceApplication.class,args);}}這是我的測(cè)試基類(lèi)/***Createdbyxxon2018/07/12.*Contract測(cè)試基類(lèi)*/@RunWith(SpringRunner.class)@SpringBootTest(webEnvironment=SpringBootTest.WebEnvironment.MOCK,classes=JsGfrcServiceApplication.class)@AutoConfigureMockMvc@AutoConfigureJsonTesters@DirtiesContext//我希望啟動(dòng)時(shí)忽略這些類(lèi),但是這行代碼不起作用@ComponentScan(value={"com.konyo.service","com.konyo.activiticommon"},excludeFilters=@ComponentScan.Filter(type=FilterType.ASSIGNABLE_TYPE,classes={RedisConfig.class,SwaggerConfig.class,TxManagerHttpRequestServiceImpl.class,TxManagerTxUrlServiceImpl.class,InitDictionaryMap.class}))@TransactionalpublicclassMockMvcContractTest{static{System.setProperty("eureka.client.enabled","false");System.setProperty("spring.cloud.config.failFast","false");System.setProperty("spring.cloud.config.discovery.enabled","false");}protectedStringpackageGetParams(StringparamName,Listvalues,Stringuri){StringBuilderbuilder=newStringBuilder(uri);if(values==null||values.size()==0){returnuri;}booleancontains=uri.contains("?");if(!contains){builder.append("?");}for(Stringvalue:values){builder.append(paramName).append("=").append(value).append("&");}builder.delete(builder.length()-1,builder.length());returnbuilder.toString();}@AutowiredMockMvcmockMvc;@Beforepublicvoidsetup(){RestAssuredMockMvc.mockMvc(mockMvc);}}
Spring Boot Test中如何排除一些bean的注入?
紅糖糍粑
2019-05-12 12:19:07