所以我有一个会话范围的bean,很自然地,我得到了你在单元测试中所期望的错误。
java.lang.IllegalStateException:没有为范围注册的范围'会话'
为单元测试模拟会话的基于Java的方法是什么?
这是旧方式:
Spring Test session scope bean using Junit
事情是,我不需要测试控制器。我正在测试一个包含会话范围bean的组件。我只需要一个虚假的会话,以便它可以工作。
答案 0 :(得分:0)
就这么简单: - /
在测试中:
public void setup() throws Exception {
ConfigurableBeanFactory factory = (ConfigurableBeanFactory) wac.getAutowireCapableBeanFactory();
factory.registerScope("session", new SessionScope());
}
然后在每次需要它的测试之前调用它。如果您使用的是JUnit,可以使用@Before。