Я пытаюсь подготовить конфигурацию тестов в своем приложении. Один из моих тестов выглядит примерно так:Весеннее тестирование тестовой сессии сеанса загрузки
@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
со ссылкой на область сеанса обслуживания. TestApplication настраивается:
@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,
каким-то образом издеваться сессии весной загрузки тестов? Это решение AbstractSessionTest не работает.