Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 与JUnit和WebMVC的集成测试_Java_Unit Testing_Spring Mvc_Integration Testing - Fatal编程技术网

Java 与JUnit和WebMVC的集成测试

Java 与JUnit和WebMVC的集成测试,java,unit-testing,spring-mvc,integration-testing,Java,Unit Testing,Spring Mvc,Integration Testing,我正在开发一个SpringMVC应用程序 单元测试已经编写好了(代码覆盖率高达85%,大量断言:) 现在我需要编写集成测试。我已经看过了我还有一些问题 现在我正在使用一个标准的maven结构,其中包含main和test目录,您是否建议创建另一个名为integrationtests的目录,并在那里编写单元测试?若然,原因为何 另一种选择是在“tests”目录中编写集成测试,混合单元和集成测试,然后使用maven运行其中一个(可能根据测试类型使用不同的文件后缀) 在任何情况下,我计划运行集成测试的

我正在开发一个SpringMVC应用程序

单元测试已经编写好了(代码覆盖率高达85%,大量断言:)

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

  • 现在我正在使用一个标准的maven结构,其中包含main和test目录,您是否建议创建另一个名为integrationtests的目录,并在那里编写单元测试?若然,原因为何
  • 另一种选择是在“tests”目录中编写集成测试,混合单元和集成测试,然后使用maven运行其中一个(可能根据测试类型使用不同的文件后缀)
  • 在任何情况下,我计划运行集成测试的方法本质上是(几乎)重用控制器的单元测试,而不注入模拟,这意味着我当前的堆栈(控制器服务DAO)将不包含模拟(当然,在单元测试中,它包含模拟),通过移除模拟,我将访问真实的资源(数据库等),这是一个好方法吗

更新:澄清一下,该项目没有JSP或任何HTML相关视图,输出是XML,可以通过XSD轻松验证。我假设您使用JUNIT创建单元测试,以实现令人印象深刻的85%代码覆盖率。请注意,JUNIT仅用于单元测试(因此称为JUNIT).单元测试在代码在开发环境中运行时完成

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


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

该应用程序是一个Web服务,但不使用SOAP。