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
方法注解:
@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
相关文章推荐
- 对于代码,越害怕写错就越写不敢写,然而带来的很明显是技术的滞留...
- UIDevice
- SQL基础
- 图像的锐化和边缘提取
- MySQL怎样存储IP地址
- VoIPER测试工具的使用
- coderforce 586A Alena's Schedule
- JavaScript常用方法函数收集
- Kindle 转换器
- arcEngine添加标注(上)
- LeetCode 213: House Robber II
- C++primer学习:关于upper_bound和lower_bound的探究.
- iPhone开发 判断当前的网络是3g还是wifi
- Eclipse快捷键
- 求两个数最大公约数
- SPDY 是什么?如何部署 SPDY?
- 重定向和请求转发的区别
- IOS的APP结构、生命周期、main
- 装系统
- 更快学习 JavaScript 的 6 个思维技巧