我刚刚将一个快速 Spring MVC 应用程序整合在一起作为演示来替换我部门的内部应用程序。
现在我应该演示测试驱动开发如何与Spring MVC相关。
不幸的是我没有使用 TDD 来构建演示,我不知道从哪里开始。
我正在使用 Maven 进行构建 - 是否有基于Maven的测试框架,可以轻松入门 Spring MVC 那有很好的教程?
我从哪里开始?
答案 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>
您想要进行一些嘲弄,而不是查看easyMock或Jmock或Mockito。
如果您需要进行集成测试,那么通过前端访问您的应用程序而不是查看:Selenium2/Webdriver - 因此您需要先启动服务器,例如Maven-Cargo将帮助您。但是警告:要让您的第一个Web基础集成测试运行,自动启动服务器并自动部署应用程序是一项艰巨的任务,并且可能需要一天以上的时间。
答案 2 :(得分:1)
只需使用飞机旧JUnit。 Maven将在构建过程中自动运行。
基本上,您应该为代码中的每个方法编写单元测试。通过代码和可能的值范围测试每条可能的路径。
如果你想模拟TDD,你可以注释掉代码和失败的测试,在一行或多行代码中注释,使测试通过。
答案 3 :(得分:1)