完成了我的第一个Spring MVC应用程序 - 老板希望看到我的单元测试 - 我从哪里开始?

时间:2011-10-19 12:28:43

标签: java spring maven-2 spring-mvc tdd

我刚刚将一个快速 Spring MVC 应用程序整合在一起作为演示来替换我部门的内部应用程序。

现在我应该演示测试驱动开发如何与Spring MVC相关。

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

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

我从哪里开始?

4 个答案:

答案 0 :(得分:5)

This教程详细介绍了如何逐步开发Spring Framework MVC应用程序,其中包括writing a test的一个步骤。使用其中的示例作为模型。

答案 1 :(得分:4)

因为TDD对代码和方法的编写方式有很大的影响,所以在大多数复杂的情况下都不可能伪造它! 我的意思是如果你做TDD,那么代码将被编写成易于测试的类型。如果你不做TDD,那么代码也可能是可测试的,但是以完全不同的方式。 - 所以,如果你有一些TDD经验,你会看到代码的不同。

因此,如果没有太多代码并且此TDD事件是真正严重要求,那么抛出代码并再次执行。


无论如何,如果你再次这样做,你需要的工具将是相同的:

你需要一个测试框架:使用Junit 4,因为它最好得到Spring的支持(参见Spring Referece:chapter 9 Testing)。

Maven中的集成非常简单:

将测试用例放在`src / test / java'下,然后(但这取决于你的样式)在并行包结构中测试的类。您只需要maven-sure-fire插件。

<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>

您想要进行一些嘲弄,而不是查看easyMockJmockMockito

如果您需要进行集成测试,那么通过前端访问您的应用程序而不是查看:Selenium2/Webdriver - 因此您需要先启动服务器,例如Maven-Cargo将帮助您。但是警告:要让您的第一个Web基础集成测试运行,自动启动服务器并自动部署应用程序是一项艰巨的任务,并且可能需要一天以上的时间。

答案 2 :(得分:1)

只需使用飞机旧JUnit。 Maven将在构建过程中自动运行。

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

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

答案 3 :(得分:1)

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