使用JUnit和Web MVC进行集成测试

时间:2013-07-01 07:03:30

标签: java unit-testing spring-mvc integration-testing

我正在开发一个Spring MVC应用程序。

单元测试已经写好了(85%的代码覆盖率和很多断言:)

现在我需要编写集成测试。我已经看过stackoverflow了,我还有一些问题

  • 现在我正在使用带有main和test目录的标准maven结构,你是否建议创建另一个名为integration-tests的目录并在那里编写单元测试?如果是这样,为什么?
  • 另一种方法是在“tests”目录中编写集成测试,混合单元和集成测试,然后使用maven运行一个或另一个(可能根据测试类型使用不同的文件后缀)
  • 在任何情况下,我计划运行集成测试的方式基本上是(几乎)重用控制器的单元测试而不注入模拟,这意味着我当前的堆栈(Controller-Service-DAO)将不包含模拟(当然,在单元测试中,它确实如此),通过删除模拟我将访问真实资源(数据库等),这是一个很好的方法吗?

更新:只是为了澄清,该项目没有JSP或任何与HTML相关的视图,输出是XML,可以通过XSD轻松验证

1 个答案:

答案 0 :(得分:0)

我假设您已经使用JUNIT创建单元测试以实现令人印象深刻的85%代码覆盖率。请注意,JUNIT仅用于单元测试(因此名称为JUNIT)。代码在开发环境中运行时完成单元测试。

只有在目标集成环境中部署目标代码后,才能执行集成测试。

您已经提到您的应用程序不是Web应用程序。是SOAP / Rest Web服务吗?如果是这样,您可以使用Soap UI [http://www.soapui.org/]来创建和保存自动回归/集成测试。