About Unit Testing单元测试摘要

来源:互联网 发布:查询域名的ip地址 编辑:程序博客网 时间:2024/04/26 07:37

这里的unit是每次所测试的一小独立的代码片段。对于面向对象语言而言,unit相当于一个class。


Unit Test的主要特点有:

1、独立于整个系统

2、每次验证特定的行为

3、每个测试之间相互独立

4、结果显然正确


Unit Test的测试步骤简单,只需要载入代码之后右键以Junit Test的形式运行即可


一般代码中bug的典型分布,占最大比例的是Logical错误,其次是Writing错误和Rendering错误


Unit Test原则主要有:

1、单元测试必须是正确的

2、writing “testable code”

3、following good Object Oriented Design Principles and Practices

在可测试的代码中Writing错误和Rendering错误的比例降低


我们在测试code时需要着重测试的地方:

1、将object创建和执行混合的地方

2、在constructor中所做的工作

3、让对象自己查找所需的代码

4、依赖具体类的地方

5、全局状态和静态变量、类等

6、多状态处(high Cyclomatic Complexity)

7、深继承处

8、在class名字处有“Utils”和“Context”的任何事物

Mocking, Spying和Stubbing的概念介绍

Stubbing是指overriding一个方法,返回一个指定的响应,而非原有的逻辑处理过程所得出的结果


Mocking和Spying是指在测试与系统中其他变量关联较多的对象时,将对象所需的依赖重新定义从而将其从系统中独立出来进行测试


一个简单的mock例子:在测试类的@Before中建立mock对象实例,在@Test中载入要测试的代码即code under test


原创粉丝点击