zoukankan      html  css  js  c++  java
  • 我的TDD实践---UnitTest单元测试

    我的TDD实践---UnitTest单元测试

    “我的TDD实践”系列之UnitTest单元测试

    写在前面:

      我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则是关注工具的使用及环境的搭建,做到简单实践先行,后理论专精的目的。

    TDD实践系列文章:

      1.TDD概念篇

      2.CI持续集成

      3.SVN架设篇

      4.UnitTest单元测试

      

    简介

      1. 单元测试

        1.1 定义:“单元测试”就是针对一个“工作单元”的测试,一般意义上来讲是针对一个基础类进行输入/输出测试。与之相关的是集成测试,验收测试等。这里指单纯意义上的“单元测试”。

        1.2 特征:

            与其他代码相隔离:单元测试只测试一件事,否则应该怀疑是否是测试内容有误。

            与其他开发人员隔离:保证最小化的变量影响单元测试,也就是控制变量法。逐渐形成了模拟框架以及依赖注入框架等辅助工具。

            有针对性:要做有意义的测试,保证完成那些功能或方法。

            可重复:单元测试的最大优势就是可重复,这也是持续集成的意义所在。

            可预测:单元测试保证的是---确定的输入得到肯定的输出。

      2. 涵盖内容

        2.1 单元测试框架(UnitTest):自从2005年TDD开始流行,框架和工具得到了迅猛的发展,这些框架允许定义测试代码,控制测试的执行,还提供了一个应用程序运行测试,并在成功完成测试套件中的每个测试后给出报告。

        2.2 模拟框架(Mock):为了仅测试一个方法而不对其他发展产生影响或者被影响,产生了Mock框架。通过模拟另一个类的代码来完成单元测试,同时又充分的隔离了另一个类的部分信息。

        2.3 注入框架(inject):为了充分隔离类内部使用的对象,一般采用构造注入的方式或者属性注入的方式,都是将外部初始化好的对象导入进测试类,以进行隔离。

      3. 工具比较

        3.1 单元测试工具:

          3.1.1 NUnit:目前.net最流行的工具,由JUnit发展而来,简单易用。 官方网站

          3.1.2 MSTest: 也十分的强大,同时也被多种自动编译工具所支持,在VS2010中十分方便创建以及关联测试测试类,使用方便。

               这是两个比较主要的测试框架,NUnit更新比较慢,但是开源。两种工具语法标签上大同小异,也都支持“Setup”和“Teardown”方便初始化共享对象。

        3.2 模拟框架:

          3.2.1 Rhino Mock:免费,使用简单,功能强大。

          3.2.2 Type Mock:使用中间语言(IL)在运行时以模拟实现来代替实际实现。商业产品。模拟对象不需要从接口集成,可以模仿第三方类库。

          3.2.3 Moq:社区支持,功能强大,使用简单。Moq利用了lambda表达式。语法更具描述性。

        3.3 注入框架:

          3.3.1 Structure Map:开源容器框架,能够自动模拟容器。

          3.3.2 Unity:来自微软设计与实践群组。

          3.3.3 Autofac:允许不采用XML文件的情况下进行配置。

     


    工程狮必备属性:追新,执着,高内聚低耦合。 
    版权声明:凡是没有标注[转载]的,在引用文章时,均要加上本博客地址http://www.cnblogs.com/cuiyansong/。
     
  • 相关阅读:
    Android(java)学习笔记68:使用proguard混淆android代码
    SGU 194 Reactor Cooling
    关于流量有上下界的网络流问题的求解
    关于最小割的求解方法
    HDU 5311 Hidden String
    POJ 3548 Restoring the digits
    POJ 2062 HDU 1528 ZOJ 2223 Card Game Cheater
    ZOJ 1967 POJ 2570 Fiber Network
    HDU 1969 Pie
    HDU 1956 POJ 1637 Sightseeing tour
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3199628.html
Copyright © 2011-2022 走看看