【发布时间】:2011-08-11 10:29:11
【问题描述】:
我正在尝试测试类似的课程
@Controller
public class FailureController {
@Value("#{configValues.defaultRedirectUrl}")
private String defaultRedirectUrl;
public FailureController (String defaultRedirectUrl) {
this.defaultRedirectUrl = defaultRedirectUrl;
}
...
问题是如果不为测试类创建一个特殊的构造函数(如上),我无法测试这个类,它最终是在FailureController 中初始化defaultRedirectUrl。
在测试期间如何在不创建构造函数(来自 Spring 上下文)的情况下对其进行测试。我的主要目标是在运行测试时在没有构造函数的情况下初始化 FailureController 中的值。
是否有可能在测试期间以某种方式加载 spring 上下文并初始化 FailureController 中的字段
这就是我一直在做的,但它不起作用,defaultRedirectUrl 仍然是 null 在 FailureController 中。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/applicationContext-test.xml" })
public class FailureControllerTest {
@Autowired
FailureController failureController;
applicationContext-test.xml
...
<bean id="failureController" class="se.synergica.watchtower.controllers.FailureController">
</bean>
<import resource="spring-config-test.xml" />
</beans>
谢谢。 人
【问题讨论】:
标签: spring junit mocking config