读《单元测试之道Java版》心得

  就在上周老师留的作业是单人项目,其中里面就有构建单元测试。那什么是单元测试呢?单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序的list中去,然后确认该值出现在list的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致。

 那为什么要使用单元测试呢?书上解释如下:单元测试不但会使你的工作完成得更轻松,而且会令你的设计变得更好,甚至大大减少你花在调试上面的时间。当基本的底层代码不再可靠时,那么必需的改动就无法只局限在底层。虽然你可以修正底层的问题,但是这些对底层代码的修改必然会影响到高层代码,于是高层代码也连带地需要修改;以此递推,就很可能会动到更高层的代码。于是,一个对底层代码的修正,可能会导致对几乎所有代码的一连串改动,从而使修改越来越多,也越来越复杂。于是,整间由卡片堆成的房子就由此倒塌,从而使整个项目也以失败告终。

  单元测试的核心内涵:这个简单有效的技术就是为了令代码变得更加完美。
  在这个测试过程中,我们需要确认测试究竟是通过了还是失败了。但这并不意味着你需要查看每个输出,然后才决定这些代码是正确的,还是错误的。在此,你慢慢地就会养成一个习惯:只要用眼睛瞄一下测试结果,就可以马上知道所有代码是否都是正确的,或者哪些代码是有问题的。

下面一段代码就是我在IDEA下建立的一个单元测试:

import org.junit.Test;


import static org.junit.Assert.*;

public class MSATest {

    @Test
    public void main() {
    }
}

过程就是:首先是安装JUnit插件,然后是导入harmcrest-core-1.3.jar包,然后创建test包,在这里遇到了瓶颈,怎么也找不到左侧项目导航窗格的"test".和“Make directory as -->Test Sources Root”在热心同学的帮助下,找到了另一种方法,创建一个测试类,在项目结构中找到刚刚建的test然后Go To-Test下载lib包。然后在Libraries中添加刚才下载的lib包中的junit-4.12.jar包就ok啦。过程我只是大约简述了一下。过程遇到的问题先是自己研究,自己研究不明白就找来同学一起研究。最后实在不明白就要去麻烦老师了。不过我比较喜欢自己研究,这样成功之后会很有成就感,很开心!嘻嘻!
 

猜你喜欢

转载自www.cnblogs.com/yanghan0829/p/12566822.html