最佳实践:单元测试代码和被测试代码使用一样的包,不同的目录。


测试你的equals方法
assertEquals()

framework将基本类型当作数值来比较(而不是对象)。

方法的返回值是对象:
1)取回返回值所有可读的属性值。
2)创建一个代表期望值的对象。

如果你的对象不是数值对象,那么就无须去测试它们的相等性。

Mike Bowler
GSBase(http://gsbase.sourceforge.net)
EqualsTester

“RST”原则(反身性、对称性、传递性)

assertFalse()

JUnit-addons(http://junit-addons.sourceforge.net)
EqualsHashCodeTestCase
assertNotEquals()


测试一个没有返回值的方法
1. 创建一个空容器
2. 查询该容器应该得不到任何项
3. 将对象添加到容器中,并查询容器
4. 现在容器包含了刚才添加的项


测试构造函数


测试获取器


测试设置器

------------------------------------------------------------------------------------
最佳实践
:测试任何可能的错误。单元测试不是用来证明您是对的,而是为了证明您没有错

fixture:在执行一个或者多个测试方法时需要一系列公共资源或者数据,例如测试环境、测试数据等等。

方法级别
1. @Before
2. @After
3. public void

类级别

1. @BeforeClass
2. @AfterClass
3. public static void

异常和时间测试
  expected、timeout

忽略测试方法
  @Ignore

测试运行器
  @RunWith(CustomTestRunner.class)

测试套件:批量运行测试类
1. 创建一个空类(入口)
2. @RunWith、@Suite.SuiteClasses
3. @RunWith(Suite.class)
4. @Suite.SuiteClasses(TestXX.class)
5. public

参数化测试
1. @RunWith(Parameterized.class)
2. 声明变量,用于存放期望值和测试所用数据
3. @Parameters、public static Collection
4. 声明一个带有参数的公共构造函数,为2中声明的变量赋值
5. 测试

JUnit和Ant
------------------------------------------------------------------------------------

测试接口(?)


测试JavaBean


参考资料

1.
《JUnit Recipes中文版》
2. 单元测试利器 JUnit 4(http://www.ibm.com/developerworks/cn/java/j-lo-junit4/)


欢迎大家访问我的个人网站 萌萌的IT人