⑥Junit断言简介:(都继承自Assert超类)
|- assertEquals(a, b)
Asserts that two primitive values are equal.
测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法)
|- assertFalse(a)
Asserts that a condition (a) is false.
测试a是否为false(假),a是一个Boolean数值。
|- assertTrue(a)
Asserts that a condition is true.
测试a是否为true(真),a是一个Boolean数值
|- assertNotNull(a)
Asserts that an object isn't null.
测试a是否非空,a是一个对象或者null。
|- assertNull(a)
Asserts that an object is null.
测试a是否为null,a是一个对象或者null。
|- assertNotSame(a, b)
Asserts that two objects do not refer to the same object.
测试a和b是否没有都引用同一个对象。
|- assertSame(a, b)
Asserts that two objects refer to the same object.
测试a和b是否都引用同一个对象。
|- fail(message)
当程序错误时候,输出错误消息
|-自定义断言
通常而言,JUnit所提供的标准断言对大多数测试已经足够了。然而,在某些环境下,我们可能更需要自定义一些断言来满足我们的需要。
通常的做法是定义一个TestCase的子类,并且使用这个子类来满足所有的测试。新定义的共享的断言或者公共代码放到这个子类中。
⑦ Junit佳实践:
|- 一次只有一个测试对象:(当无法预计这些对象发生改变时不会造成相互影响)
|- 选择有一个的测试方法名:testXxx命名模式(Xxx为待测方法)。若在同一个方法增添其他测试testXxxYyy的命名模式
|- Assert调用总解释失败原因。第一个参数务必为描述文本
|- setUp方法用来实例化DefaultController. Junit会在调用其他之前调用
|- 一个单元测试等于一个测试方法(简介、专注)
|- 测试任何可能失败的事务
|- 让测试改善代码
编写单元测试常常有助有你写出更好的代码。理由很简单:test case是你代码的用户只有在使用代码时才能发现代码的缺点。所以,不要犹豫,应当根据测试时发现的不使之处重构代码,使其易于使用。测试驱动开发(TDD)的实践依赖于这条原则。通过先编写测试,你可以从黛米用户的角度来开发你的类。
|- 让异常测试易懂。把case块中异常变量命名为expected
|- 同一个包,分离目录
3.软件测试类型分为四类:(集成测试、功能测试、压力/负荷测试、验收测试)