您的位置:首页 > 编程语言 > Java开发

java单元测试入门——JUnit

2016-06-28 13:45 218 查看
写测试类的原则

测试方法上必须使用@Test进行修饰;

测试方法必须使用public void 进行修饰,不能带任何的参数;

新建一个源代码目录来存放我们的测试代码;

测试类的包应该和被测试类的包保持一致;

测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖;

测试类使用Test作为类名的后缀(不是必须);

测试方法使用test作为方法名的前缀(不是必须)

测试用例不是用来证明你是对的,而是用来证明你没有错

测试失败的两种情况:Error和Failure。

Failure一般由单元测试使用的断言方法判断失败所引起的,这表示测试点发现了问题,就是说程序输出的结果和我们预期的不一样,比如,除法中的除数不能为0,若为0就会出现Failure.

Error是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测试代码中隐藏的一个bug

测试用例不是用来证明你是对的,而是用来证明你没有错。

JUnit的运行流程

是@BeforeClass,@before,@test1,@after,@before,@test2,@after,@AfterClass

@beforeClass修饰的方法会在所有方法被调用前执行,而且该方法是静态的,所以当测试类被加载后接着就会运行它,而且在内存中它只会存在一份实例,它比较适合加载配置文件

@AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接

@Before和@After会在每个测试方法的前后各执行一次

JUnit中的常用注解

@Test将一个普通的方法修饰成为一个测试方法

@Test(expected=XX.class),比如出现除数为0的情况,可以使测试通过

@Test(timeout=毫秒),比如用在死循环中,通过设置timeout可以使循环停下来

@Before会在所有方法的运行前被执行,static修饰

@AfterClass会在所有的方法运行结束后被执行,static 修饰

@Before:会在每个测试方法被运行前执行一次

@After:会在每个测试方法运行后被执行一次

@Ignore:所修饰的测试方法会被测试运行器忽略,不会被执行

@RunWith:可以更改测试运行器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单元测试 junit