代码改变世界

junit浅学笔记三

  虫师  阅读(4102)  评论(0编辑  收藏  举报

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

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

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

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

 

 

 

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
Web Page Counters
Computer Desks
点击右上角即可分享
微信分享提示