您的位置:首页 > 其它

Junit

2015-10-29 19:32 253 查看
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。

方法注解:

@BeforeClass:

使用了该元数据的方法在所有测试方法执行前只执行一次。

@AfterClass:

使用了该元数据的方法在所有测试方法执行后只执行一次。

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

@After:

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

@Test

用了该元数据的方法是测试方法。没有参数和返回值。

限时测试(timeout = 1000)

异常测试(expected = ArithmeticException.class)

@ignore:

该元数据标记的测试方法在测试中会被忽略。
类注解:

@RunWith

参数化测试

[java] view
plaincopy





import static org.junit.Assert.assertEquals;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.junit.runners.Parameterized;

import org.junit.runners.Parameterized.Parameters;

import java.util.Arrays;

import java.util.Collection;

@RunWith(Parameterized.class)

public class SquareTest ...{

private static Calculator calculator = new Calculator();

private int param;

private int result;

@Parameters

public static Collection data() ...{

return Arrays.asList(new Object[][]{

{2, 4},

{0, 0},

{-3, 9},

});

}

//构造函数,对变量进行初始化

public SquareTest(int param, int result){

this.param = param;

this.result = result;

}

@Test

public void square(){

calculator.square(param);

assertEquals(result, calculator.getResult());

}

}

打包测试:

[java] view
plaincopy





import org.junit.runner.RunWith;

import org.junit.runners.Suite;

@RunWith(Suite.class)

@Suite.SuiteClasses(...{CalculatorTest.class, SquareTest.class})

public class AllCalculatorTests{}

性能测试:

[java] view
plaincopy





public class Test {

@Rule

public ContiPerfRule i = new ContiPerfRule();

@Test

@PerfTest(invocations = 100, threads = 2)

@Required(average = 25, percentile95 = 1000)

public void test() throws Exception {

}

}

Mokito:
http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: