JUnit常用单元测试注解介绍及代码演示
by:授客 QQ:1033553122
Win7
eclipse-java-oxygen-3a-win32-x86_64.zip
apache-maven-3.5.4-bin.zip
https://maven.apache.org/download.cgi
https://pan.baidu.com/s/1OUNC0kZNduXJJLbpw76GZA
测试方法 :用@Test注解修饰的一些类方法。
测试类:包含一个或多个测试方法的java类;
测试套件:用@RunWith(Suite.class) 及@SuiteClasses注解的;font-size:10.5000pt;mso-font-kerning:0.0000pt;">一个或多个测试类
@RunWith 修饰测试类,用于修改运行器,如果不指定@RunWith则使用默认运行器。当测试类被@RunWith注解修饰时,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器来运行单元测试,而不使用JUnit默认的运行器。
常见的运行器有:
@RunWith(JUnit4.class) junit4的默认运行器
@RunWith(SpringRunner.class) 集成了spring的一些功能的运行器
@RunWith(Suite.class) 配合@SuiteClasses使用,用于执行测试套件的运行器
@RunWith(Parameterized.class) 参数化运行器,配合@Parameters使用,参数化运行单元测试,需要在被修饰的测试类中的,提供数据的方法上加上一个@Parameters注解,例如,注意,这个提供数据的方法必须是静态的(static),并且返回一个集合(Collection)。
我们可以为@Parameters 提供一个“名称”,以便更清晰的标记每个测试方法在每次运行时所使用的参数
“名称”可以包含占位符,该占位符在运行时将会被替换。
·{index}: 当前参数的索引
·{0}, {1}, …: 第一个参数,第二个参数等对应的参数值。
@Test 注解将一个普通方法修饰为一个测试方法,可选参数 timeout、expected,如下:
@Test(timeout = 1000) 设置被修饰的测试方法在预期时间(例中为 1000毫秒)内执行完成,否则测试失败;
@Test(expected = Exception.class)设置被修饰的测试方法应该抛出的预期异常,异常类型为:Exception.class,如果测试方法没有抛出预期的异常,则测试失败, 例如 @Test(expected = NullPointException.class)
注意:测试方法必须是public void,即公共、无返回
参考链接:https://www.cnblogs.com/mengdd/archive/2013/04/13/3019278.html
@BeforeClass 注解用于修饰测试类中的非测试方法,该方法将在其所属测试类中的所有测试方法被执行前运行,且只运行一次,可用于做一些测试基础准备,比如数据库连接,读取文件等。
注意:@BeforeClass修饰的方法必须是被public static void 修饰的方法,即公开、静态、无返回
@AfterClass 同@BeforeClass相反,注解用于修饰测试类中的非测试方法,该方法将在其所属测试类中所有测试方法执行完成后被运行,且只运行一次,可用于做一些测试后续操作,比如断开数据库连接,关闭文件等。
注意:@AfterClass修饰的方法必须是被public static void 修饰的方法,即公开、静态、无返回
@Before 注解用于修饰测试类中的非测试方法, 该方法会在其所属测试类中的每一个测试方法运行前运行一次
与@BeforeClass的区别在于,@Before不止运行一次,它会在每个测试方法运行之前都运行一次。主要用于为单个测试方法做一些基础的测试准备工作。
注意:@Before修饰的方法必须是被public void 修饰的方法,即公开、无返回,但不能是被static修饰的
@After:用于修饰测试类中的非测试方法, 同@Before相反,该方法会在其所属测试类中的每一个测试方法执行完后都运行一次
注意:@After修饰的方法必须是被public void 修饰的方法,即公开、无返回,但不能是被static修饰的
@ignore 注释掉一个测试方法或一个类,被注释的方法或类,不会被执行;
确保安装了java jdk并正确设置了JAVA_HOME
下载bin.zip压缩包,解压到目标路径(例中 D:\Program Files\apache-maven-3.5.4\
),设置MAVEN_HOME及Path环境变量,如下
cmd输入mvn -v测试
如图,Window - Preferences - Maven -User Settings,Browse指定maven配置文件所在路径
为了解决项目jar包依赖之类的问题,更新项目,右键项目根目录 - Maven - Update Project
如下图,默认已经选中了工程项目,默认选项配置的基础上,勾选上“Force Update of Snapshots/Releases”,OK提交