Java Spring引导测试会话范围bean
我正在尝试在我的应用程序中准备测试配置。我的一个测试与此类似:Java Spring引导测试会话范围bean,java,spring,junit,spring-boot,spring-bean,Java,Spring,Junit,Spring Boot,Spring Bean,我正在尝试在我的应用程序中准备测试配置。我的一个测试与此类似: @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @SpringApplicationConfiguration(TestApplication.class) public class SomeTest { @Autowired private SomeService service; @Test public void getLa
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@SpringApplicationConfiguration(TestApplication.class)
public class SomeTest {
@Autowired private SomeService service;
@Test
public void getLatestConfigurationForDeviceTest() {
Device config = service.getDevice();
assertThat( config ).isNotNull();
...
}
}
SomeService
指会话范围服务。测试应用程序配置为:
@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackages = {
"com.example.myapp.service",
"com.example.myapp.repository",
"com.example.myapp.listener"
})
@EnableJpaRepositories(basePackages = {
"com.example.myapp.repository"
})
@EntityScan(basePackages = {
"com.example.myapp.domain.entity"
})
应用程序引发了异常:
...
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.sessionBean': Scope 'session' is not active for the current thread;
...
Caused by: java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request,
在spring引导测试中是否有模拟会话的方法?此解决方案不起作用。由于3.2Spring支持此类测试,请查看 例11.12。会话范围的bean测试