单元测试框架进行自动化测试数组
到底单元测试是作什么用的?单元测试是一种测试,它不是代码的一部分;单元测试是最低层级的测试,它只保证函数的可靠性,不保证其它;单元测试应该能保证每个函数的可靠性。app
单元测试是一种测试,因此,咱们应该以一种测试的眼光去面对它——咱们要测试正常状况,边界条件,要对它的测试目标——函数作黑盒分析,白盒分析,选择合适的测试数据,构建测试场景和测试环境——总之,一切测试应该作的事情,单元测试都不该该省略。框架
理论上来讲,单元测试和其余测试同样,也是能够纯手工完成的:咱们能够写一段某函数的测试代码,而后输入咱们的测试输入,观察测试输出,并跟指望值作比较——事实上这种人工测试,写了一段时间代码的人应该都不会陌生。可是,单元测试有一点特殊性,就是在一个系统中,函数会很是很是的多,变化也比软件的功能频繁的多。面对这么多的函数,这么频繁的变化,纯手工测试是不现实的。因此,咱们必需要引入单元测试框架进行自动化测试。注意,这里的单元测试框架只是实现自动化测试的一个手段,对单元测试自己并不产生任何影响——没有单元测试框架,单元测试同样也是能够进行的,只是会痛苦不少。函数
单元测试框架引入的目的只是为了自动化单元测试,简化单元测试的步骤。因此,对于测试代码的编写,重点应该是:如何搭建测试环境、测试场景;如何选择测试用例;如何校验测试结果。对于测试代码自己,应该尽量的简单,能不要使用技巧尽可能不要使用,目的在于测试,若是测试自己过于复杂,咱们不能保证测试的正确性,测试这个工做就白作了。单元测试
刚刚提到单元测试是对函数的测试,所以,测试必须是以函数为单位的。每一个函数应该拥有本身单独的一个测试,这个测试中,应该针各个方面进行完善的测试,这样咱们才能保证这个函数的功能是如咱们所愿的。可是单元测试不须要负责函数的组合工做状况。那应该是功能测试的工做,而不是单元测试的工做。如作app功能测试,这个功能测试就是在假定全部函数都工做正常的基础之上,对这些函数组合造成的功能模块进行测试。这种测试,视状况而定,可使用单元测试框架,也可使用其余自动化测试方法或者甚至是使用纯人工测试。测试