1,测试方法上必须有@Test注释;
2,测试方法必须用public void 修饰,并且不要带参数;
3,在项目下,新建一个test的目录存放测试代码;
4,测试类的包结构应该和被测试类的结构一样;
5,测试类中的测试方法必须独立测试,不能相互依赖;
@BeforeClass修饰的方法会在所有方法执行前执行,并且该方法是静态方法,测试类加载后就会执行该方法,而且在内存中只存在一个实例,作用是比较适合加载配置文件;
@AfterClass修饰的方法在所有方法最后执行,常用来对资源的清理,如关闭数据库的连接,该方法也是静态方法;
@Before,@After在每个定义的测试方法执行前后各执行一次;
@Ignore所修饰的方法被忽略不被执行;
@Test的属性:@Test(expected=XX.class); 例如测试为6/0会报错,加上该属性expected=ArithmeticException.class,即不报错;
@Test(timeout=毫秒)方法执行时间;
测试套件:就是将测试类在一个类中一起运行;
手工编写一个测试套件的入口类,该类不包含其他方法;
更改测试运行器(Suite.class);将要一起测试的类 作为数组传入Suite.SuiteClasses({});
多组数据同时进行测试;
1,更改运行器(RunWith(Parameteried.class));
2,,申明变量来存放预期值和结果值;
3,申明一个公共静态方法,返回Collection,使用@Parameters进行修饰;
4,为测试类申明一个带有参数的公共构造函数,并在其中为之申明变量赋值;
errors往往是自己写的业务方法错误,或者是自己造成的一个潜在的bug,failures才是结果和实际执行的错误
使用断言的一些方法如assertEquals注意导入import static org.junit.Assert.*;
eclipse,myclipse都自带junit工程包和库,要配置加入;