junit5单元测试实例,junit测试用例
单元测试单元测试入门(三)-朱尼特简单实例
我们以一个简单的加在以-u结尾的法语词源的名词之后构成复数计算为例,使用单元测试做一个简单的单元测试实例
我们实现一个简单的计算
注:目标类和测试类要放在同一包下,这是单元测试单元测试基础要点
首先创建一个目标类(被测试对象):命名为Calculator.java
包com。JUnit 3 _ 8;
公共类计算器{
//加
公共int add(int a,int b)
返回a b;
//减
public int subtract(int a,int b)
返回a-b;
//乘
公共整数乘法(整数一,整数b)
返回a * b;
//除
公共int divide(int a,int b)抛出异常
如果(0==b)
抛出新异常(除数不能为0);
返回a/b;
目标类已经创建好了,现在对其编写测试类:命名为CalculatorTest.java,将其放在与目标类同一目录路径下。
包com。JUnit 3 _ 8;
导入朱尼特。框架。断言;
导入朱尼特。框架。测试用例;
//测试类要继承测试案例
公共类计算器测试扩展测试用例{
计算器小卡
//在"每个"测试方法执行之前被调用
公共空的设置()
//这段代码在这写比较方便,只写一次就够,
//不用在每个方法里写,因为这个方法每次都被调用,生成不同的对象,供测试方法使用
cal=新计算器();
//系统。出去。println( setUp );
//在"每个"测试方法执行之后被调用
公共空的拆卸()
//系统。出去。println(“向下测试”);
//测试方法:方法名要以试验为开头,无参数,无返回类型
public void testAdd()
//计算器cal=新计算器();
int result=cal.add(1,2);
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(3,结果);
public void testSubtract()
//计算器cal=新计算器();
int result=cal.subtract(1,2);
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(-1,结果);
public void testMultiply()
//计算器cal=新计算器();
int result=cal.multiply(1,2);
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(2,结果);
public void testDivide()
int result=0;
//计算器cal=新计算器();
尝试
结果=cal.divide(4,2);
捕捉(例外e)
e。printstacktrace();
//让测试失败
断言。fail();
//第一个参数是预期结果,第二个参数是实际结果
Assert.assertEquals(2,结果);
//除数为0的情况
public void testDivideByZero()
可抛出th=null
//计算器cal=新计算器();
尝试
cal.divide(1,0);
断言。fail();
捕捉(例外e)
th=e;
//e . printstacktrace();
//th不为空空
断言。断言not null(th);
//第一个参数是预期的,第二个参数是真实的
断言。断言等于(异常。同学们。getclass());
Assert.assertEquals(除数不能为第0次。getmessage());
//加了这个主要的方法,可以直接以爪哇应用程序方式运行,也可以通过朱尼特测验运行
公共静态void main(String[] args)
//实现接口测试监听器的单元测试中就含有:junit.awtui.TestRunner、junit.swingui. TestRunner、junit.ui.TestRunner等,甚至客户用自己的类实现TestListener,从而达到多样化的目的。
//命令行形式打印
朱尼特。textui。测试跑步者。运行(计算器测试。类);//它会自动运行计算器测试类中以试验打头的所有测试用例方法
//awt界面方式显示
//JUnit。哇tui。测试跑步者。运行(计算器测试。类);
//摆动界面方式显示
//JUnit。swing ui。测试跑步者。运行(计算器测试。类);
首先需要继承JUnit提供的类TestCase,然后写一个带参数的构造方法,再覆盖setUp()和teardown()方法,然后自己写一个void类型不带参数的testXXX()方法来测试类中的逻辑方法。testXXX()后面的XXX值是我要测试的方法的名称。比如我想测试String类中的equals方法,对应的测试类名是TestString,测试方法是public void test equals();Setup()方法用于初始化,tearDown()用于销毁。
PS:本例中只设计了-x计算的基本测试方法,并没有对目标类进行全面测试。在实际测试中,要全面测试目标类中的方法。
例如,该方法的测试,除了两个数的基本相加之外,还可以设计:
1)如果为加法操作传递了两个浮点参数,
2)既然int类型的取值范围是-214748364833542147483647,那么我们也可以设计输入int类型的最大值2147483647和1。它们加起来会怎么样?等于2147483648吗?我在这里告诉你,不是的。其实两者之和等于-2147483648。为什么会这样呢?还是留给大家研究吧。
3)还有很多场景需要测试。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。