Junit 一次运行多个测试类和进行多次重复测试Word下载.docx

上传人:b****6 文档编号:19168958 上传时间:2023-01-04 格式:DOCX 页数:7 大小:40.78KB
下载 相关 举报
Junit 一次运行多个测试类和进行多次重复测试Word下载.docx_第1页
第1页 / 共7页
Junit 一次运行多个测试类和进行多次重复测试Word下载.docx_第2页
第2页 / 共7页
Junit 一次运行多个测试类和进行多次重复测试Word下载.docx_第3页
第3页 / 共7页
Junit 一次运行多个测试类和进行多次重复测试Word下载.docx_第4页
第4页 / 共7页
Junit 一次运行多个测试类和进行多次重复测试Word下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

Junit 一次运行多个测试类和进行多次重复测试Word下载.docx

《Junit 一次运行多个测试类和进行多次重复测试Word下载.docx》由会员分享,可在线阅读,更多相关《Junit 一次运行多个测试类和进行多次重复测试Word下载.docx(7页珍藏版)》请在冰豆网上搜索。

Junit 一次运行多个测试类和进行多次重复测试Word下载.docx

  比如,有两个测试类,叫CalculatorTest和CalculatorTest2。

  在测试类所在的包中新建一个类,叫做TestAll,如下:

packagecom.mengdd.junit;

importjunit.framework.Test;

importjunit.framework.TestCase;

importjunit.framework.TestSuite;

publicclassTestAllextendsTestCase

{

publicstaticTestsuite()

{

//创建一个测试套件

TestSuitesuite=newTestSuite();

//增加测试类的class对象

suite.addTestSuite(CalculatorTest.class);

suite.addTestSuite(CalculatorTest2.class);

returnsuite;

}

}

  运行时,右键这个类,RunAs->

JUnitTest:

  就相当于运行了CalculatorTest和CalculatorTest2。

进行方法的重复测试

  如果要对某个方法进行多次测试,可以使用RepeatedTest。

  使用时注意,测试类需要一个带参数(String)的构造函数,将String参数传给基类TestCase,调用基类的带参数的构造函数。

  于是修改之前的代码如下:

被测试类不变:

Calculator

publicclassCalculator

publicintadd(inta,intb)

returna+b;

publicintsubtract(inta,intb)

returna-b;

publicintmultiply(inta,intb)

returna*b;

publicintdivide(inta,intb)throwsException

if(0==b)

thrownewException("

除数不能为0"

);

returna/b;

测试类:

CalculatorTest

importjunit.framework.Assert;

publicclassCalculatorTestextendsTestCase

privateCalculatorcalculator=null;

publicCalculatorTest()

super();

publicCalculatorTest(Stringname)

super(name);

@Override

publicvoidsetUp()throwsException

System.out.println("

setup"

//生成成员变量的实例

calculator=newCalculator();

System.out.println(calculator);

publicvoidtearDown()throwsException

teardown"

publicvoidtestAdd()

intresult=calculator.add(1,2);

//判断方法的返回结果

Assert.assertEquals(3,result);

//第一个参数是期望值,第二个参数是要验证的值

publicvoidtestSubtract()

intresult=calculator.subtract(1,2);

Assert.assertEquals(-1,result);

publicvoidtestMultiply()

intresult=calculator.multiply(2,3);

Assert.assertEquals(6,result);

publicvoidtestDivide()

intresult=0;

try

result=calculator.divide(12,3);

catch(Exceptione)

e.printStackTrace();

//如果抛出异常,证明测试失败,没有通过,没通过的测试计数在Failures中

Assert.fail();

//如果不加这一行,如果程序进入到catch,无法判断其失败

Assert.assertEquals(4,result);

publicvoidtestDivideByZero()

Throwabletx=null;

result=calculator.divide(12,0);

Assert.fail("

没有抛出异常,测试失败"

//如果执行到这行代码,则证明没有抛出异常,说明我们的验证失败

tx=e;

Assert.assertEquals(Exception.class,tx.getClass());

//抛出的异常类型是否和期望一致

Assert.assertEquals("

tx.getMessage());

//抛出的异常信息是否和期望一致

//如果上面两个都通过,则测试通过

测试套件类:

importjunit.extensions.RepeatedTest;

publicstaticTestsuite()

//测试某个方法多次,注意测试类需要提供带参数的构造方法

suite.addTest(newRepeatedTest(newCalculatorTest("

testSubtract"

),20));

运行结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1