Java 未能加载ApplicationContext。无法创建集成测试

Java 未能加载ApplicationContext。无法创建集成测试,java,spring-boot,unit-testing,integration-testing,Java,Spring Boot,Unit Testing,Integration Testing,我尝试为此REST控制器创建集成测试: @RestController @RequestMapping(path = {"/api/reports", "/api"}) public class DependencyReportController { private final DependencyDifferenceService differenceService; public DependencyReportController(DependencyDifferenceServic

我尝试为此REST控制器创建集成测试:

@RestController
@RequestMapping(path = {"/api/reports", "/api"})
public class DependencyReportController {

private final DependencyDifferenceService differenceService;

public DependencyReportController(DependencyDifferenceService differenceService) {
    this.differenceService = differenceService;
}

@GetMapping(path = {"/dependencies/difference", "/deps/diff"},
    produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public ServiceDependenciesReport get() {
    return differenceService.getAllDiffs();
}


}
我的测试,其中我尝试检查状态:

@RunWith(SpringRunner.class)
@WebMvcTest(DependencyReportController.class)
public class DependencyReportControllerApiTest {
@Autowired
private MockMvc mockMvc;

@MockBean
private DependencyDifferenceService differenceService;

@Test
public void test() throws Exception{
    ServiceDependenciesReport report = new ServiceDependenciesReport();
    report.setElapsed("elapsed");
    report.setSuccess(true);
    when(differenceService.getAllDiffs()).thenReturn(report);
    this.mockMvc.perform(get("/dependencies/difference")).andDo(print()).andExpect(status().isOk());
}



 }
而且它不起作用。完整堆栈跟踪:

说明:

字段监视属性监视应用程序需要一个 找不到类型“MonitoringProperties”。 注入点具有以下注释: -@org.springframework.beans.factory.annotation.Autowired(必需=true)

允许TestExecutionListener [org.springframework.boot.test.mock.mockito。MockitoTestExecutionListener@35e2d654] 准备测试实例[DependencyReportControllerApiTest@44b940a2]
java.lang.IllegalStateException:未能加载ApplicationContext 位于org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:125) ~[spring-test-5.1.5.释放罐:5.1.5.释放] 位于org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108) ~[spring-test-5.1.5.释放罐:5.1.5.释放] 位于org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.postProcessFields(MockitoTestExecutionListener.java:99) ~[spring-boot-test-2.1.3.RELEASE.jar:2.1.3.RELEASE] 位于org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.injectFields(MockitoTestExecutionListener.java:79) ~[spring-boot-test-2.1.3.RELEASE.jar:2.1.3.RELEASE] 位于org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.prepareTestInstance(MockitoTestExecutionListener.java:54) ~[spring-boot-test-2.1.3.RELEASE.jar:2.1.3.RELEASE] 位于org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246) ~[spring-test-5.1.5.释放罐:5.1.5.释放] 在org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227)[spring-test-5.1.5.RELEASE.jar:5.1.5.RELEASE] 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectCall(SpringJUnit4ClassRunner.java:289) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12] 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12] 位于org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12] 位于org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12] 访问org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12] 位于org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12] 位于org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12] 位于org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) [spring-test-5.1.5.释放。jar:5.1.5.释放] 位于org.junit.runner.JUnitCore.run(JUnitCore.java:137) [junit-4.12.jar:4.12] 位于com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) [junit-rt.jar:na] 位于com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) [junit-rt.jar:na] 位于com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) [junit-rt.jar:na] 位于com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) [junit-rt.jar:na]由以下原因引起: org.springframework.beans.factory.unsatifiedDependencyException: 创建名为“monitoringApplication”的bean时出错:不满意 通过字段“monitoringProperties”表示的依赖关系;嵌套 例外是 org.springframework.beans.factory.noSuchBean定义异常:否 “MonitoringProperties”类型的限定bean可用:应在 至少1个符合autowire候选资格的bean。附属国 注释: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 位于org.springframework.beans.factory.annotation.AutoWiredNotationBeanPostProcessor$AutoWiredFeldElement.inject(AutoWiredNotationBeanPostProcessor.java:596) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] 位于org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] 位于org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) ~[spri
 Action:
 Consider defining a bean of type 'MonitoringProperties' in your configuration.
 2020-01-20 12:40:28.884 ERROR 6388 --- [           main] o.s.test.context.TestContextManager      : Caught exception while