junit5单元测试实例,junit测试用例

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: