【发布时间】:2012-03-06 18:58:21
【问题描述】:
我最初只有一个需要进行单元测试的 Java Servlet。我想确保它能够正确处理请求,所以我在 jUnit 测试中使用了 Spring 的 MockHttpServletRequest,该方法效果很好。非常简单的单元测试。
现在,我想扩展测试,我想做一系列数据库事务和模拟 http servlet 请求,以模拟用户在一段时间内使用系统。
我想我可以将所有这些都塞进一个单元测试中,但这似乎不是正确的做法,因为它会违反单元测试的精神。
那么像这样以特定顺序测试一系列事件的正确方法是什么?
这是我目前所拥有的精简版:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"testContext.xml"})
public class servletTest {
//Injected request
@Resource(name="mockTestServletRequest")
MockHttpServletRequest request;
@Test
public void mockRequest() {
//perform a mock servlet request
}
那么我是否只需在我已经拥有的方法之上和之下添加更多用@Test 注释的方法来模拟事件时间线?我能保证这些方法会按照列出的顺序执行吗?
【问题讨论】:
-
你知道 Adam Bien 的 Unit Testing for Java EE。
-
@zellus 我刚读了那篇文章,它不太适用于我的情况。我已经有了一个有效的单元测试,现在我正试图弄清楚该怎么做,因为我希望测试从一个简单的单元测试发展为一个更强大的多步骤测试。
标签: java spring hibernate testing tdd