Junit 4.x 单元测试,参数化测试,套件测试 实例
对下面三个类进行单元测试 ,组成套件测试。
public class Calculate {
public int add(int a, int b) {
return a + b;
}
public int sub(int a, int b) {
return a - b;
}
}
public class Car {
public int getWheels() {
return 4;
}
}
public class Rectangle{
public int getArea(int width,int height){
return width*height;
}
}
测试代码:建议把测试代码放在test源文件中
public class CalculateTest {
Calculate calculate;
@Before
public void setUp() throws Exception {
calculate = new Calculate();
}
@Test
public void testAdd() {
int result = calculate.add(12, 12);
assertEquals(24, result);
}
@Test
public void testSub() {
int result = calculate.sub(12, 12);
assertEquals(0, result);
}
}
public class CarTest {
Car car;
@Before
public void setUp() throws Exception {
car = new Car();
}
@Test
public void testGetWheels() {
int result = car.getWheels();
assertEquals(4, result);
}
}
public class RectangleTest {
Rectangle rectangle;
@Before
public void setUp() throws Exception {
rectangle=new Rectangle();
}
@Test
public void testGetArea() {
int result = rectangle.getArea(12, 2);
assertEquals(24, result);
}
}
测试套件代码:
@RunWith(Suite.class)
@SuiteClasses({ CalculateTest.class, CarTest.class, RectangleTest.class })
public class AllTests { }
请用下面的参数对Calculate类的add方法进行参数化的测试
{2,1,1},
{2,0,2},
{0,2,-2},
@RunWith(Parameterized.class)
public class CalculateTest2 {
Calculate calculate;
private int input1;
private int input2;
private int expected;
@Parameters
public static Collection prepareData() {
Object[][] object = { { -1, -2, -3 }, { 0, 2, 2 }, { -1, 1, 0 },
{ 1, 2, 3 } };
return Arrays.asList(object);
} public CalculateTest2(int input1, int input2, int expected) {
this.input1 = input1;
this.input2 = input2;
this.expected = expected;
} @Before
public void setUp() throws Exception {
calculate = new Calculate();
} @Test
public void testAdd() {
int result = calculate.add(input1, input2);
assertEquals(expected, result);
}
}
Junit 4.x 单元测试,参数化测试,套件测试 实例的更多相关文章
- junit高级篇(参数化、打包测试)-实例代码
工程目录: 参数化测试,SquareTest.java: import static org.junit.Assert.*; import java.util.Arrays; import java. ...
- selenium测试套件
1.测试套件测试套件,简单理解就是讲多个用例,装在一个容器里来同时执行完成. 2.测试套件分析 #coding=utf-8 import unittestimport BaiDuSearch,BaiD ...
- junit测试套件
在实际项目中,随着项目进度的开展,单元测试类会越来越多,可是直到现在我们还只会一个一个的单独运行测试类,这在实际项目实践中肯定是不可行的.为了解决这个问题,JUnit 提供了一种批量运行测试类的方法, ...
- JUnit套件测试实例
“套件测试”是指捆绑了几个单元测试用例并运行起来.在JUnit中,@RunWith 和 @Suite 这两个注解是用来运行套件测试. 下面的例子演示这两个单元测试:JunitTest1 和 Junit ...
- junit 测试套件Suite
junit测试套件,就是可以运行一个测试类使得一个或一些测试类被junit测试运行 见代码: 测试套件类: import org.junit.runner.RunWith; import org.ju ...
- unittest单元测试框架之测试套件(三)
1.测试套件(注意:测试用例先添加先执行,后添加后执行,由此组织与设定测试用例的执行顺序) addTests:添加多个测试用例 addTest:添加单个测试用例 import unittest fro ...
- 安卓CTS官方文档之兼容性测试套件简介-attach
官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite 兼容性测试套件 H ...
- 安卓CTS官方文档之兼容性测试套件简介
官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite 兼容性测试套件 Ho ...
- Spock测试套件入门
目录 Spock测试套件 核心概念 整体认识 前置.后置 同junit的类比 Feature 方法 blocks 典型的用法 异常condition then和expect的区别 cleanup bl ...
随机推荐
- MySQL常用处理方法
1.replace into replace into t(id, update_time) values(1, now());或 replace into t(id, update_time) se ...
- Spring boot 各种入门及问题
Spring boot 入门 整合(完整版): https://blog.csdn.net/winter_chen001/article/details/77249029 mybatis-genera ...
- Jquery——动画效果
jquery中常用的动画的方法就是hide()与show(). $(element).hide()这段代码可以与这相等element.css("display","non ...
- 牛客网-《剑指offer》-跳台阶
题目:http://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4 C++ class Solution { public: in ...
- Android 之 PackageManager获取的应用程序信息与AndroidManifest文件中设置的信息不一致问题
有时我们需要用 PackageManager 来获取应用程序的版本号和版本名称等信息,通过以下代码来获取: PackageManager manager = getPackageManager(); ...
- Linux中使用pwconv实现passwd中密码到shadow
1.功能说明:开启用户的投影密码. 2.语 法:pwconv 3.个人理解:就是将/etc/passwd里的密码用x代替,并将真实密码(当然是加密后的)转移到/etc/shadow里面. 4.补充说明 ...
- 简单的WebRTC例子
webrtc网上封装的很多,demo很多都是一个页面里实现的,今天实现了个完整的 , A 发视频给 B. A offer.html作为offer <!DOCTYPE html> <h ...
- DbScopeFactory
using (var db = DbScopeFactory.Create()) { //这里修改数据 db.SaveChanges(); }
- AndroidStudio不自己主动加入新创建的文件到VCS
从远程仓库下载了一份源代码,版本号控制是用的SVN.但发现了一个问题.改动和删除文件时,版本号管理都有记录. 可是假设我新建一个文件时.却发现没有自己主动关联到VCS,也不能手动加入到VCS中,这样我 ...
- iPad Air 2全然评測:可怕的三核CPU、六核GPU
在了解了三核心A8X的基本情况后.我们再来通过測试数据,全面地了解一下iPad Air 2的性能表现,包含CPU.GPU.存储.电池.屏幕.摄像头.导航等等. [CPU性能測试:三核太可怕了] 移动处 ...