使用Grester简化Java应用程序的JUnit测试 - 编程入门网
it测试(4)
时间:2012-03-17 IBM Michael Nyika
现在您终于可以构建插件直至完成。 Grester 要求使用 Maven V2.0.5 或更高版本。如果使用早期版本,则会在编译和使用 Groovy-mojo-support 依赖关系中的功能时遇到问题。如果 $MAVEN_HOME/bin 目录是可执行文件系统路径的一部分,则可以从 maven-grester-plugin 目录(包含 Grester 的 pom.xml 文件的目录)中执行 mvn clean install 命令,如下所示: 图 4. 从命令行构建 Grester 构建通常运行得很快(少于 20 秒)。图 5 显示成功安装窗口。 图 5. 在 Maven 的本地系统库中安装 Grester 使用Grester简化Java应用程序的JUnit测试(5)时间:2012-03-17 IBM Michael NyikaGrester 的 TDD 方法 编写 Grester 时,我必须在编写集成测试时记住它们适用的操作系统环境。这变得有点挑战性,因为我将从匹配操作系统类型的 if . . . else 子句开始,然后根据类型做出断言。不久,如果为该平台编写测试的同时 又为另一个平台编写测试,则可以实现跨两个平台的稳定的成功构建。 必须注意的是 Grester 安装在 Maven 的本地系统库中的位置。如果不熟悉 Maven,则其默认本地系统库为 $USER_HOME/.m2/repository/。默认情况下,在运行 Windows 的计算机中,$USER_HOME 很可能被转换为 Documents and Settings/$USERNAME/(其中 $USERNAME 是登录的用户)。在 Linux/UNIX 计算机中,$USER_HOME 将转换成 /home/$USERNAME/。快速浏览 Windows 本地系统库可以发现 Grester 被安装到 C:/Documents and Settings/$USERNAME/.m2/repository/org/apache/maven/plugins 中,并且创建了一个名为 maven-grester-plugin 的目录。此目录包含版本号目录(最新版本是 V0.3);该目录中有实际的 maven-grester-plugin-x.x.jar 文件。 使用此结构的原因在于 Grester 的 pom.xml 文件。如图 6 所示,Grester 项目的 groupId 是 org.apache.maven.plugins。用包含此字符串作为 groupId 值的 Java 或 Groovy 语言编写的所有 Maven 插件,相比拥有其他一些任意 groupId 的 Maven 插件,都包含更易于通过命令行执行的 mojo。由于 Grester 将使用此字符串,因此在通过命令行执行各个 mojo 目标时,您无需预先考虑 groupId 和 artifactId。 图 6. Grester 的 pom.xml 配置文件中的 groupId maven-grester-plugin 目录是在安装时创建的(install 目标将创建此目录),如下所示。其他标准 Maven 插件都安装在同一个上级目录中,例如 maven-surefire-plugin 和 maven-install-plugin 目录。 图 7. Maven 的本地系统库中的 Grester 如果项目的自定义组 ID 和工件 ID 太长且很难记或者只是重复键入很麻烦,那么使用特殊的 groupId 字符串十分有利。这是默认插件(例如,maven-compiler-plugin 或 maven-surefire-plugin)的基本 Maven 目标(例如 compile、test,或者 test-compile)在执行时不需要诸如 mvn org.apache.maven.plugin:maven-compiler-plugin:2.0.2:compile 或 mvn org.apache.maven.plugin:maven-surefire-plugin:2.3:test 之类的命令的原因(只需 mvn compile 或 mvn test)。 使用Grester简化Java应用程序的JUnit测试(6)时间:2012-03-17 IBM Michael Nyika将 Jester 安装为 Grester 的主要依赖关系 此时,除了 Grester 的核心 —— 实际的 Jester 依赖关系之外其他内容都已就绪。Windows 和 Linux/UNIX 平台提供了两个方便的脚本,它们可以把 Jester(即,实际的 jester-1.37.jar 文件)安装到 Maven 的本地系统库中。为什么提供这些脚本?难道不能在 Maven 获得其编译器、安装程序和其他插件依赖关系时从 Maven 所在的相同外部资源中下载这些脚 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |