junit浅学笔记三

简介:

这一节我们将学习进行批量处理,假如我们有多的测试,怎样进行批量处理,请跟着我做。

---------------------------------------------

假如我们写了两个被测程序。如下:

T.java

package com.junit4.cc;

publicclass T {
    publicint add(int x ,int y){
        return x+y;
    }
    publicstaticvoid main(String args[]){
        int z=new T().add(3,5);
        System.out.println(z);
    }
}

User.java

package com.junit4.cc;

publicclass User {
    public String geName(){
        return"刘若英";   //PS:她是我的偶像嘻嘻:)
    }
}

------------------------------------测试类-------------------------

下面要对上面的两个类写测试类。(关于测试类的创建的方法,不懂的可以看我的第一篇《junit浅学笔记一》)

TTest.java   对应的是T.java的测试类。

package com.junit4.cc.test;

importstatic org.junit.Assert.*;

import org.junit.Test;
import com.junit4.cc.*;

publicclass TTest {
    @Test
    publicvoid testAdd() {
        int z=new T().add(5,3);
        assertEquals(8,z);
    }
}

UserTest.java  对应的是User.java

package com.junit4.cc.test;

importstatic org.junit.Assert.*;

import org.junit.Test;
import com.junit4.cc.User;

publicclass UserTest {

    @Test
    publicvoid testGeName() {
        assertEquals(new User().geName(),("刘若英"));
    }
}

完成之后的列表如下:

要批量运行上面两个测试类,有两个方法。

方法一

右键点击测试包“com.junit4.cc.test”--->Run As--->Run Configurations.

这种方式设置简单,但灵活度不高,假如有100个测试类。我只想运行其中的某几个测试类。下面看第二中方式。

 

方法二

方法引入一种“测试套件”的概念,JUnit提供了一种批量运行测试类的方法,叫测试套件。

  测试套件的写法需要遵循以下原则:

  1. 创建一个空类作为测试套件的入口;

  2. 使用注解 org.junit.runner.RunWith 和 org.junit.runners.Suite.SuitClasses 修饰这个空类

  3. 将org.junit.runners.Suite作为参数传入给注解RunWith,以提示Junit为此类测试使用套件运行器执行。

  4. 将需要放入此测试套件的测试类组成数组作为注解SuiteClasses的参数

  5. 保证这个空类使用public修饰,而且存在公开的不带任何参数的构造函数

下面在测试包(com.junit4.cc.test)下面创建一个测试类,内容如下:

AllTest.java

 

package com.junit4.cc.test;


import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
@RunWith(Suite.class)
@SuiteClasses({
 TTest.class,
 UserTest.class  //这里自由加入需要运行的测试类
  })
publicclass AllTest {

}

 

创建之后的列表:

 

运行AllTest.java的结果(这里,两个方法的运行结果是一样的):

 

ps:关于两种方式的比较,第一种方法简单,只用选择测试包,就可以批量运行里面的所有测试程序。第二种方式还有重新创建一个测试类,但它非常灵活,只用在这个类中加入需要运行的类就可以灵活的运行需要测试的类。

 

目录
相关文章
|
测试技术 程序员 开发者
|
测试技术 程序员 Android开发
|
1月前
|
IDE Java 测试技术
Junit 单元测试
JUnit是Java常用的单元测试框架,简化了测试用例的编写和执行。其特点包括简单注解、自动化测试、可扩展性、灵活性及与IDE的集成。使用方法涉及创建测试类、利用注解如@Test、@BeforeEach等管理测试生命周期,以及使用各种断言方法验证结果。此外,JUnit支持参数化测试以覆盖更多输入组合,并能与Maven、Gradle等构建工具集成,提升测试效率和项目管理。
36 1
|
3月前
|
Java 测试技术
JUnit 4 单元测试
单元测试是软件开发中必不可少的一环,但是在平常开发中往往因为项目周期紧,工作量大而被选择忽略,这样往往导致软件问题层出不穷。 线上出现的不少问题其实在有单元测试的情况下就可以及时发现和处理,因此培养自己在日常开发中写单元测试的能力是很有必要的。无论是对自己的编码能力的提高,还是项目质量的提升,都是大有好处,本文将介绍 Java 单元测试框架 JUnit 4 的基础认识和使用来编写单元测试,希望同样对你有所帮助。
|
6月前
|
Java 测试技术 API
Junit5单元测试框架详解
前面我们学习了Selenium自动化测试框架,但是有的时候测试用例会很多,我们需要一个工具来管理这些测试用例,而Junit就是一个很好的管理工具,简单点来说,Junit就是一个针对Java的单元测试框架;
99 0
|
6月前
|
Java 测试技术 程序员
|
7月前
|
测试技术
Junit单元测试
Junit单元测试
37 0
|
7月前
|
Java 程序员 网络安全
JUnit5学习之六:参数化测试(Parameterized Tests)基础
了解JUnit5的参数化测试的基本知识
117 2
JUnit5学习之六:参数化测试(Parameterized Tests)基础
|
4月前
|
测试技术
Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理
Junit单元测试 org.junit.jupiter.api.extension.ParameterResolutionException异常处理
85 0