Maven学习三 使用junit测试maven project

每个开发人员都会对自己的代码进行自定义的测试,可以是把项目run起来,手动点点页面按钮,看看操作场景和步骤点是否符合业务需要,是否存在UE上的问题。也有自己写几个测试类,把service类的输入输出是否符合标准都测试一番,这两大类,其实就是包括了前后端的测试工作,分工各有不同。在maven中集成了junit测试包,应该说maven可以集成任何你想的到或者想不到工具插件。

在maven project-01项目中引入junit插件并不困难,只需要在pom.xml中配置好依赖包即可(IDE环境下,依赖项会自动生成)。剩下的测试代码的编写并没有任何不同。另外,test类文件需要按照/src/main/java/的文件结构(main改为test)。

test文件夹结构如下图:

还需要修改pom.xml文件,增加dependencies项,改后的pom.xml内容如下:

[html] view
plain
copyprint?

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>jizg.study.maven.hello</groupId>
  6. <artifactId>hello-first</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <dependencies>
  9. <dependency>
  10. <groupId>junit</groupId>
  11. <artifactId>junit</artifactId>
  12. <version>4.10</version>
  13. <scope>test</scope>
  14. </dependency>
  15. </dependencies>
  16. </project>

接下来在/src/test/java/jizg/study/maven/hello 文件夹下创建TestHello.java文件,这里需要注意,test的包结构可以自定义,要注意必备的路径为/src/test/java/,TestHello.java内容如下:

[html] view
plain
copyprint?

  1. package jizg.study.maven.hello;
  2. import org.junit.*;
  3. import static junit.framework.Assert.*;
  4. import jizg.study.maven.hello.*;
  5. public class TestHello{
  6. @Test
  7. public void testHello(){
  8. Hello h = new Hello();
  9. assertEquals(h.sayHello("jizg"),"hello :jizg");
  10. }
  11. }

最后,改好pom.xml和test类文件之后,可以输入mvn test命令,这会重新把项目build出来,并且输出TestHello.java中的test信息。

控制台输出如下:

[html] view
plain
copyprint?

  1. D:\study\maven\01>mvn test
  2. [INFO] Scanning for projects...
  3. [INFO]
  4. [INFO] ------------------------------------------------------------------------
  5. [INFO] Building hello-first 0.0.1-SNAPSHOT
  6. [INFO] ------------------------------------------------------------------------
  7. [INFO]
  8. [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ hello-firs
  9. t ---
  10. [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
  11. . build is platform dependent!
  12. [INFO] skip non existing resourceDirectory D:\study\maven\01\src\main\resources
  13. [INFO]
  14. [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ hello-first -
  15. --
  16. [INFO] Nothing to compile - all classes are up to date
  17. [INFO]
  18. [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ he
  19. llo-first ---
  20. [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e
  21. . build is platform dependent!
  22. [INFO] skip non existing resourceDirectory D:\study\maven\01\src\test\resources
  23. [INFO]
  24. [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ hello
  25. -first ---
  26. [WARNING] File encoding has not been set, using platform encoding GBK, i.e. buil
  27. d is platform dependent!
  28. [INFO] Compiling 1 source file to D:\study\maven\01\target\test-classes
  29. [INFO]
  30. [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ hello-first ---
  31. [INFO] Surefire report directory: D:\study\maven\01\target\surefire-reports
  32. -------------------------------------------------------
  33. T E S T S
  34. -------------------------------------------------------
  35. Running test.TestHello.TestHello
  36. Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.151 sec
  37. Results :
  38. Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
  39. [INFO] ------------------------------------------------------------------------
  40. [INFO] BUILD SUCCESS
  41. [INFO] ------------------------------------------------------------------------
  42. [INFO] Total time: 5.346s
  43. [INFO] Finished at: Wed Oct 02 18:23:23 CST 2013
  44. [INFO] Final Memory: 9M/22M
  45. [INFO] ------------------------------------------------------------------------
  46. D:\study\maven\01>

细心的朋友还会发现,在project-01目录下,新生成了一个target(项目输出)文件夹,下面包括surefire-reports(测试结果)和编译过后的class文件。mvn test可以很好的支持单元测试,maven下的好多命令可以完成其中奇葩怪异的任务,并且mvn 命令支持串行执行。比如,mvn  install、mvn clean build等等。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed

原文地址:https://www.cnblogs.com/skinchqqhah/p/10184500.html

时间: 2024-10-13 20:07:46

Maven学习三 使用junit测试maven project的相关文章

Maven学习(五):maven的灵活构建

一.实现资源过滤 (一)maven-resources-plugin 插件 1.Maven 区别对待Java代码文件和资源文件,maven-compiler-plugin用来编译Java代码,maven-resources-plugin则用来处理资源文件.默认的主资源文件目录是 src/main/resources. 2.很多用户会需要添加额外的资源文件目录,这个时候就可以通过配置maven-resources-plugin来实现.实现资源的过滤只需要添加 <filtering>true<

Maven学习笔记(1)之安装Maven

此笔记是学习Maven时自己摸索+各种百度而来,并非全部原创,望与各位一同学习,勿拍~勿拍~ 安装步骤: 1.下载Maven的最新版本,地址:http://maven.apache.org/download.cgi 2.将下载完成的压缩包放至D盘根目录(图方便,一会儿安装完再删就好) 3.在命令行上操作,进入到你想要安装的目录路径后敲:jar xvf 的命令来进行解压安装(请勿手动解压以省略此步) 4.配置环境变量 新建系统变量  MAVEN_HOME  变量值:D:\Java\apache-m

Maven学习(一) -- 安装Maven及Eclipse中配置Maven

安装及配置Maven环境变量 需要电脑中已经有Java环境 在控制台中输入:echo %JAVA_HOME%看是否能显示java home的路径信息: 在控制条输入:java -version 看是否显示java的版本信息: 下载官网:http://maven.apache.org/download.cgi 下载编译过的版本 apache-maven-3.3.9-bin.zip,解压至 C:\Park_Software\apache-maven-3.3.9 配置环境变量: 新建环境变量:M2_H

maven 学习:为什么要使用maven,maven使用过程中的一些参数

Maven是一个基于Java平台的项目构建工具. 设计的出发点: 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编程语言,我们要重复相同的开发步骤:编码,编译,测试,生成文档,打包发布.实际上除了编写源代码,其他步骤完全是重复一些琐碎的工作,这些琐碎的工作就是构建. 那为什么让软件开发人员去重复这些工作?开发人员的主要任务应该是关注商业逻辑并去实现它,而不是把时间浪费在学习如何在不同的环境中去打包,发布,Maven正是为了将开发人员从这些重复性的任务中解脱出来而诞生的. Maven

Maven学习 (七) 自己动手编写Maven插件

需求: 在Maven编译项目的时候,统计代码量,即项目中的文件数目.代码行数,包括java文件和配置文件两种:其中配置文件(sql.xml.properties)代码行数/4 处理. 创建项目: 首先确保已安装m2eclipse插件:http://eclipse.org/m2e/ eclipse - new - Maven Project,选择archetype = maven-archetype-plugin:(或用命令 mvn archetype:generate,再按提示操作) 下一步设置

Maven学习4之eclipse下 maven install和test的两个错误

错误一: 1.eclipse中, 当maven test的时候,报错: -Dmaven.multiModuleProjectDirectory=$M2_HOME) 2.解决办法: 可以设一个环境变量M2_HOME指向你的maven安装目录 M2_HOME=D:\Apps\apache-maven-3.3.1 然后在Window->Preference->Java->Installed JREs->Edit 在Default VM arguments中设置 -Dmaven.multi

maven学习(三)

Maven安装完毕之后就是使用了,但是要想在eclipse中使用就得安装m2eclipse插件,安装的过程我就不废话了,下面记录一下在eclipse中创建一个简单的maven项目的过程,顺便说一下依赖范围和依赖传递的事. 首先在eclipse中创建项目,在Package Explorer下右键------>new------>other----->Maven Project出现如下界面: 然后点击Next,出现如下界面: 这个界面上大家可以看到你有很多供选择的选项,有helloword有

Maven学习13之覆盖率测试

1.build的时候的goals为: cobertura:cobertura 2.运行之后在site下面可以看到html文件 3.运行记录: [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building MavenLearning 0.0.1-SNAPSHOT [INFO] --------

Maven学习总结(21)——Maven常用的几个核心概念

在使用Maven的过程中,经常会遇到几个核心的概念,准确的理解这些概念将会有莫大的帮助. 1. POM(Project Object Model)项目对象模型 POM 与 Java 代码实现了解耦,当需要升级版本时,只需要修改POM,而不需要更改Java代码,而在POM稳定后,日常的Java代码开发基本不涉及POM的修改. 2. 坐标 groupId , artifactId , version 三个元素是项目的坐标,唯一的标识这个项目. groupId 项目所在组,一般是组织或公司,artif