Junit 测试框架

本文是重构 读书笔记第三篇

自测试代码的价值

每个类都应该有一个测试函数,并以它来测试自己这个类。

确保所有测试都完全自动化,让他们检查自己的测试结果。

编写测试代码的最有用的时机就是在开始编程之前,当你需要添加特性的时候,先写相应的测试代码。

编写测试代码的时候其实就是在问自己,添加这个功能需要做些什么。编写测试代码还能使你把注意力集中于接口而非实现。

频繁进行测试是极限编程的重要一环。

JUnit测试框架

在引入Junit框架之前,我们会在每个类的Main函数里进行测试。这样做的问题是很难运行多个测试。

而junit则让我们建立一个独立的类用于测试,并在其中运行它,使测试工作更加轻松。

你可以执行一大堆测试然后出去吃个午饭XD

频繁的运行测试,每次编译请把测试也考虑进去——每天至少执行每个测试一次。

单元测试和功能测试

JUnit框架的用途是单元测试(Unit Test)

单元测试和功能测试的区别在于功能测试是黑箱测试,站在用户的角度保障软件质量,当功能测试找出bug的时候需要单元测试暴露这个bug。

当你收到bug报告,请先写一个单元测试来暴露这个bug

添加更多测试

观察类该做的事情,然后针对任何一项功能的任何一种可能失败情况,进行测试。

测试最可能出错的部分。

花合理时间抓出大多数bug

测试代码和产品代码相比有个好处就是,测试代码可以放心的复制,编辑测试代码。