关于stackoverflow有很多类似的问题,但我发现没有一个是我的问题。
在Spring Boot2.0.2.Release的集成测试中,我为该测试创建了一个单独的@Configuration类,并在其中定义了beancom.example.myservice
。这个bean恰好被com.example.otherbean
中的其他一些bean使用。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {MyIntegrationTestConfig.class},
webEnvironment = SpringBootTest.WebEnvironment.MOCK)
public class MyService1Test extends MyAbstractServiceIntegrationTest {
@Test
public void someTest() {}
}
设置和拆分的通用摘要:
public class MyAbstractServiceIntegrationTest{
@Before
public void setUp(){}
@After
public void tearDown()
}
src/test中的MyIntegrationTestConfig,用于替代src/main中的配置:
@Configuration
@ComponentScan({"com.example"})
public class MyIntegrationTestConfig {
@Bean
public MyService myService() {
return null;
}
}
myservice
bean可以为空,用于测试目的。
@TestConfiguration
static class MyServic1TestContextConfiguration {
@Bean(name = "MyService")
public MyService myService() {
return null;
}
}
我怀疑Spring在创建src/test文件夹中定义的MyService bean之前,会先在src/main文件夹中创建/autowire bean。会是这样吗?或者bean MyService所在的上下文不同(比如测试上下文),而其他bean所在的上下文不同,无法找到MyService。
一个附带问题:对于集成测试,使用webEnvironment=SpringBootTest.webEnvironment.mock是可以的,对吗?
问题是如何初始化bean。值null
是导致问题的值。这就好像您实际上没有声明该对象的任何实例。要使其正常工作,请声明服务new MyService()
的有效实例。
我正在使用Spring Boot 2.2.4并尝试自定义执行器 以下是相关的课程
我想在xml JDBCTemolate上进行配置。 看起来是这样的 JDBCrepository: 控制器:
控制器: 型号: 存储库: web.xml
我尝试构建简单的Maven springMVC应用程序。当我试图将应用程序部署到我的服务器时,下面抛出了异常。 unsatisfiedDependencyException:创建com.phapp.comfiguration.webconfiguration中定义的名为“View Resolver”的bean时出错:通过方法“View Resolver”参数0表示未满足的依赖关系;嵌套异常是org
当试图用包含所有上下文配置的抽象类运行stepdefs时,spring看到2个不同的beans parent和step def 我使用的是Spring Booking版本:2.6.4,JUnit 5和Cucumber版本7.2.3 异常堆栈跟踪: io.cucumber.core.runtime.CucumberExecutionContext.runTestCase:没有可用的“Cucumber