JUnit4常用注释说明

JUnit 4使用Java 5中的注解(annotation

@Before
使用了该元数据的方法在每个测试方法执行之前都要执行一次。

@After

使用了该元数据的方法在每个测试方法执行之后要执行一次。

注意:@Before@After标示的方法只能各有一个。这个相当于取代了JUnit以前版本中的setUptearDown方法,当然你还可以继续叫这个名字,不过JUnit不会霸道的要求你这么做了。

@Test(expected=*.class)
JUnit4.0之前,对错误的测试,我们只能通过fail来产生一个错误,并在try块里面assertTruetrue)来测试。现在,通过@Test元数据中的expected属性。expected属性的值是一个异常的类型

@Test(timeout=xxx):
该元数据传入了一个时间(毫秒)给测试方法,
如果测试方法在制定的时间之内没有运行完,则测试也失败。

@ignore

该元数据标记的测试方法在测试中会被忽略。当测试的方法还没有实现,或者测试的方法已经过时,或者在某种条件下才能测试该方法(比如需要一个数据库联接,而在本地测试的时候,数据库并没有连接),那么使用该标签来标示这个方法。同时,你可以为该标签传递一个String的参数,来表明为什么会忽略这个测试方法。比如:@lgnore(“该方法还没有实现”),在执行的时候,仅会报告该方法没有实现,而不会运行测试方法。

转帖地址:http://www.javathinker.org/main.jsp?bc=showessay.jsp&id=824

在Eclipse中使用JUnit4进行单元测试

首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都有说明。该类代码如下:


JUnit4常用注释说明packageandycpp;
JUnit4常用注释说明
JUnit4常用注释说明publicclassCalculator{
JUnit4常用注释说明privatestaticintresult;//静态变量,用于存储运行结果
JUnit4常用注释说明publicvoidadd(intn){
JUnit4常用注释说明result=result+n;
JUnit4常用注释说明}

JUnit4常用注释说明publicvoidsubstract(intn){
JUnit4常用注释说明result=result-1;//Bug:正确的应该是result =result-n
JUnit4常用注释说明}

JUnit4常用注释说明publicvoidmultiply(intn){
JUnit4常用注释说明}
//此方法尚未写好
JUnit4常用注释说明publicvoiddivide(intn){
JUnit4常用注释说明result=result/n;
JUnit4常用注释说明}

JUnit4常用注释说明publicvoidsquare(intn){
JUnit4常用注释说明result=n*n;
JUnit4常用注释说明}

JUnit4常用注释说明publicvoidsquareRoot(intn){
JUnit4常用注释说明for(;;);//Bug:死循环
JUnit4常用注释说明}

JUnit4常用注释说明publicvoidclear(){//将结果清零
JUnit4常用注释说明result=0;
JUnit4常用注释说明}

JUnit4常用注释说明publicintgetResult(){
JUnit4常用注释说明returnresult;
JUnit4常用注释说明}

JUnit4常用注释说明}

JUnit4常用注释说明

第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,如图:

JUnit4常用注释说明


在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,如下图所示:
JUnit4常用注释说明

然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。

第三步,生成JUnit测试框架:在EclipsePackage Explorer中用右键点击该类弹出菜单,选择“NewàJUnit Test Case”。如下图所示:
JUnit4常用注释说明

在弹出的对话框中,进行相应的选择,如下图所示:
JUnit4常用注释说明

点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测试。如下图所示:
JUnit4常用注释说明

之后系统会自动生成一个新类CalculatorTest,里面包含一些空的测试用例。你只需要将这些测试用例稍作修改即可使用。完整的CalculatorTest代码如下:


JUnit4常用注释说明packageandycpp;
JUnit4常用注释说明
JUnit4常用注释说明importstaticorg.junit.Assert.*;
JUnit4常用注释说明importorg.junit.Before;
JUnit4常用注释说明importorg.junit.Ignore;
JUnit4常用注释说明importorg.junit.Test;
JUnit4常用注释说明
JUnit4常用注释说明publicclassCalculatorTest{
JUnit4常用注释说明
JUnit4常用注释说明privatestaticCalculatorcalculator=newCalculator();
JUnit4常用注释说明
JUnit4常用注释说明@Before
JUnit4常用注释说明publicvoidsetUp()throwsException{
JUnit4常用注释说明calculator.clear();
JUnit4常用注释说明}

JUnit4常用注释说明
JUnit4常用注释说明@Test
JUnit4常用注释说明publicvoidtestAdd(){
JUnit4常用注释说明calculator.add(2);
JUnit4常用注释说明calculator.add(3);
JUnit4常用注释说明assertEquals(5,calculator.getResult());
JUnit4常用注释说明}

JUnit4常用注释说明
JUnit4常用注释说明@Test
JUnit4常用注释说明publicvoidtestSubstract(){
JUnit4常用注释说明calculator.add(10);
JUnit4常用注释说明calculator.substract(2);
JUnit4常用注释说明assertEquals(8,calculator.getResult());
JUnit4常用注释说明}

JUnit4常用注释说明
JUnit4常用注释说明@Ignore("Multiply()Notyetimplemented")
JUnit4常用注释说明@Test
JUnit4常用注释说明publicvoidtestMultiply(){
JUnit4常用注释说明}

JUnit4常用注释说明
JUnit4常用注释说明@Test
JUnit4常用注释说明publicvoidtestDivide(){
JUnit4常用注释说明calculator.add(8);
JUnit4常用注释说明calculator.divide(2);
JUnit4常用注释说明assertEquals(4,calculator.getResult());
JUnit4常用注释说明}

JUnit4常用注释说明}

第四步,运行测试代码:按照上述代码修改完毕后,我们在CalculatorTest类上点右键,选择“Run AsàJUnit Test”来运行我们的测试,如下图所示:

JUnit4常用注释说明

运行结果如下:

JUnit4常用注释说明

进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表示“共进行了4个测试,其中1个测试被忽略,一个测试失败”