如何在Spring 4基于Java的配置中模拟会话以进行单元测试?

时间:2014-09-16 22:57:46

标签: java unit-testing configuration mocking spring-4

所以我有一个会话范围的bean,很自然地,我得到了你在单元测试中所期望的错误。

java.lang.IllegalStateException:没有为范围注册的范围'会话'

为单元测试模拟会话的基于Java的方法是什么?

这是旧方式:

Spring Test session scope bean using Junit

事情是,我不需要测试控制器。我正在测试一个包含会话范围bean的组件。我只需要一个虚假的会话,以便它可以工作。

1 个答案:

答案 0 :(得分:0)

就这么简单: - /

在测试中:

public void setup() throws Exception {
            ConfigurableBeanFactory factory = (ConfigurableBeanFactory) wac.getAutowireCapableBeanFactory();
            factory.registerScope("session", new SessionScope());
    }

然后在每次需要它的测试之前调用它。如果您使用的是JUnit,可以使用@Before。