1.Failure一般由单元测试使用的断言方法判断失败所引起的,这经表示测试点发现了问题,就是说程序输出的结果和我们预期的不一样.
2.Error是由代码异常引起的,他可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏的bug
3.的是用力不是用来证明你是对的,而是用来证明你没有错.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
运行流程:
Junit运行流程:
1.@BeforeClass修饰的方法会在所有方法被调用前被执行,而且该方法是静态的,
所以当测试类被加载后接着就会执行它,而且在内存中他只会岑仔一份实例,它比较适合加载配置文件.
2.@AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的链接.
3.@Before和@After会在每个测试方法的前后各执行一次.
运行顺序:
@BeforeClass-> (@Before->@Test->@After) ...->@AfterClass
assertEquals:用于判断实际值和期望值是否相同,assertEquals(预期值,实际值);
assertSame:判断实际值和期望值是否为同一个对象
assertArrayEquals(expecteds, actuals) 查看两个数组是否相等。
assertEquals(expected, actual) 查看两个对象是否相等。类似于字符串比较使用的equals()方法
assertNotEquals(first, second) 查看两个对象是否不相等。
assertNull(object) 查看对象是否为空。
assertNotNull(object) 查看对象是否不为空。
assertSame(expected, actual) 查看两个对象的引用是否相等。类似于使用“==”比较两个对象
assertNotSame(unexpected, actual) 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象
assertTrue(condition) 查看运行结果是否为true。
assertFalse(condition) 查看运行结果是否为false。
assertThat(actual, matcher) 查看实际值是否满足指定的条件
fail() 让测试失败
++++++++++++++++++++++++++++++++++++++++++++++++++++++
JUnit常用注解
@Ignore: 所修饰的测试方法会被测试运行器忽略
@RunWith: 可以更改测试运行器(继承org.junit.runner.Runner)
@Test: 将一个普通的方法修饰成为一个测试方法
Test有两个参数:
expected 表示预期可能产生的异常,如果匹配则不报错
timeout 表示超时时间,如果超过这个时间没有完成,则抛出TestTimedOutException
例如:
@Test(expected=ArithmeticException.class,timeout=2000)//第一个参数是异常类的类类型,第二个参数是毫秒数
@BeforClass: 他会在所有的方法运行前被执行,static修饰
@AfterClass: 他会在所有的方法运行结束后被执行,sattic修饰
@Befor: 会在每一个测试方法被运行前执行一次
@After: 会在每一个测试方法运行后被执行一次
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
JUnit测试套件的使用
测试套件就是组织测试类一起运行的
1.写一个作为测试套件的入口类,这个类里不包含其他的方法!!!
2.更改测试运行器Suite.class.
3.将要测试的类作为数组传入到Suite.SuiteClasses({})