Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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 完成了我的第一个春季MVC应用程序-boss想看看我的单元测试-我从哪里开始?_Java_Spring_Maven 2_Spring Mvc_Tdd - Fatal编程技术网

Java 完成了我的第一个春季MVC应用程序-boss想看看我的单元测试-我从哪里开始?

Java 完成了我的第一个春季MVC应用程序-boss想看看我的单元测试-我从哪里开始?,java,spring,maven-2,spring-mvc,tdd,Java,Spring,Maven 2,Spring Mvc,Tdd,我刚刚组装了一个快速的Spring MVC应用程序作为演示,以取代我所在部门的一个内部应用程序 现在,我要演示测试驱动开发与SpringMVC的关系 不幸的是,我没有使用TDD构建演示,我不知道从哪里开始 我正在使用Maven进行构建-是否有基于Maven的测试框架可以在springmvc中轻松入门,并且有很好的教程 从哪里开始?教程详细介绍了如何逐步开发Spring Framework MVC应用程序,其中包括以下步骤:。使用其中的示例作为模型。只需使用plane old JUnit即可。Ma

我刚刚组装了一个快速的Spring MVC应用程序作为演示,以取代我所在部门的一个内部应用程序

现在,我要演示测试驱动开发与SpringMVC的关系

不幸的是,我没有使用TDD构建演示,我不知道从哪里开始

我正在使用Maven进行构建-是否有基于Maven的测试框架可以在springmvc中轻松入门,并且有很好的教程


从哪里开始?

教程详细介绍了如何逐步开发Spring Framework MVC应用程序,其中包括以下步骤:。使用其中的示例作为模型。

只需使用plane old JUnit即可。Maven将作为构建过程的一部分自动运行

基本上,您应该为代码中的每个方法编写单元测试。通过代码和可能的值范围测试每个可能的路径


如果您想模拟TDD,您可以注释掉代码和失败的测试,注释一行或多行代码以使测试通过。

您需要一个测试框架(如JUnit)和一个模拟Spring控制器的框架。这是个不错的选择。您可以找到一些教程和。

因为TDD对代码和方法的编写有着巨大的影响,所以在大多数复杂的情况下不可能伪造它! 我的意思是,如果您使用TDD,那么代码将以一种易于测试的方式编写。如果你不做TDD,代码也有望可以测试,但方式完全不同因此,如果您在TDD方面有一些经验,您将看到代码中的差异

因此,如果没有太多的代码,而这个TDD是一个非常严肃的要求,那么就把代码扔出去,然后再做一次


无论如何,无论您是否再次使用,所需的工具都是相同的:

您将需要一个测试框架:Go with,因为它最好由Spring支持(请参阅Spring Reference:)

Maven中的集成非常简单:

将测试用例放在'src/test/java'下,然后(但这取决于您的风格)在并行包结构中与被测试的类相连接。你所需要的只是插件


朱尼特
或者


如果你需要做集成测试,那就通过它的前端来访问你的应用程序,然后看看:-因此你需要先启动服务器,例如,它会帮助你。但有一个警告:要运行您的第一个基于web的集成测试,自动启动服务器并自动部署应用程序是一项艰巨的任务,可能需要一天以上的时间。

谢谢,但看起来EasyMock已经有一年半没有更新了。这难道不是一个风险选择吗?也许EasyMock只是稳定的?EasyMock是一个广泛使用的框架,一旦您熟悉JUnit或(www.testng.org/)您就应该深入研究它。顺便说一句,TDD试图在编写代码之前编写测试……我测试了所有Java模拟框架,我最喜欢的是(到目前为止)JMock2。看一看()-但是如果你是一个初学者,需要注意的是,从简单的junit到模仿有一个相当长的学习曲线。尽管它是一个快速测试应用程序,所以修改它使其“感觉像TDD”应该不会那么困难。…纪尧姆:在这种情况下,在TDD中再做一次也很容易;-)如果有人被要求展示某事是如何工作的,他应该这样做!!我完全同意,他只是在寻求替代方案,我想:)就个人而言,我会从头开始,同时保留“旧”应用程序,并在需要时参考它。
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.8.1</version>
  <scope>test</scope>
</dependency>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.10</version>
  </plugin>