正如在this question中所回答的,我认为在使用@WebAppConfuguration(或@WebIntegrationTest进行弹簧启动)时,我可以在我的测试类中注入请求/会话bean。我不努力。
这是我的测试类配置:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SocialInfoSrvAppConfig.class)
@WebIntegrationTest
//@IntegrationTest
//@WebAppConfiguration
public class FacebookServiceTest {
...
@Inject
private Facebook facebook;
...
}
这是我的应用配置:
@SpringBootApplication
// @EnableResourceServer
@EnableJms
@EnableSocial
@EnableWebMvc
public class SocialInfoSrvAppConfig extends SpringCommonApp {
}
我收到此错误:
org.springframework.beans.factory.BeanCreationException:创建名称为' scopedTarget.facebook':范围'请求'当前线程不活动;考虑为这个bean定义一个范围代理,如果你想从一个单例引用它;嵌套异常是java.lang.IllegalStateException:找不到线程绑定请求:您是指在实际Web请求之外的请求属性,还是在最初接收线程之外处理请求?如果您实际上是在Web请求中操作并仍然收到此消息,则您的代码可能在DispatcherServlet / DispatcherPortlet之外运行:在这种情况下,请使用RequestContextListener或RequestContextFilter来公开当前请求。
好像我无法将此请求范围的bean注入我的测试中。
我错过了什么?