美文网首页我爱编程
入门单元测试(javaScript篇)

入门单元测试(javaScript篇)

作者: shawvyu | 来源:发表于2018-05-18 01:19 被阅读0次

单元测试的定义

  1. 单元测试(Unit Testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
  2. 单元测试的特点如下:
    • 最小可测试部件
    • 单元与单元是相互独立的
    • 执行速度快
    • 问题相对容易定位
    • 开发人员编写
    • 通过了解代码的实现逻辑进行的测试,通常也叫白盒测试

单元测试框架

  • javascript
    mocha(推荐),jasmine,qunit(jquery出品)

  • java
    junit

  • android
    junit,robolectric(junit的扩展)

  • c
    cunit

  • python
    unittest(pyunit)

测试工具和语言

我们这里选择javaScript来简单实验一些单元测试。我们选择Mocha作为我们的单元测试工具。它入门简单,能同时适用于基于浏览器的测试和 Node.js 的测试,而且与其它测试工具配合同样运行良好。

设置目录结构

为了让文件结构更清晰,应将测试文件放在主代码文件的一个独立目录下。这是为了方便以后添加其它类型的测试(如集成测试(integration tests) 和 功能测试(functional tests))。

对于 JavaScript,最流行的实践方案是在项目根目录下创建一个 test/ 文件夹。然后,将每个测试文件放置在该文件夹下,如 test/someModuleTest.js。另一种方案是,在 test/目录下,再创建文件夹。但我建议尽量保持简单——这样能保证在后面必要时进行(快速)修改。

image.png

单元测试例子

js文件
测试文件

我们这里引入的chai是断言库,mocha支持多种断言库可以自由选择

测试结果

更多的Mocha学习可以去阮一峰的博客或者mocha官网学习,讲的比较详细。

源码中的单元测试

我们就来看jquery的代码是怎么进行单元测试的,这里jquery是用jquery自家出品的qunit单元测试框架来进行测试的。我们先来看一些qunit框架的内容。


image.png image.png

直接进入jquery的源码


源码 测试 源码
测试

问题

  1. 怎样更有效的进行单元测试
  2. 一定要使用单元测试框架吗
  3. 编写更有效的测试用例(一个测试单元几个测试用例更好)

相关文章

  • 入门单元测试(javaScript篇)

    单元测试的定义 单元测试(Unit Testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单...

  • 0. JavaScript学习资料汇总

    JavaScript教程 - 廖雪峰的官方网站 JavaScript入门篇 - 慕课网 JavaScript进阶篇...

  • iOS底层原理二

    上篇文章太长了,不能添加新内容了,这是第二篇 单元测试/自动化测试 XCUITest iOS单元测试从入门到应用(...

  • JavaScript

    在JavaScript入门篇中,我们学习了如何插入JS、输出内容及简单的DOM操作,JavaScript进阶篇让您...

  • ESLint和Mocha

    javascript单元测试框架mochajs详解

  • Javascript基础

    学习资料 JavaScript入门篇此教程带你进入学习javascript的初级知识链接:http://www.i...

  • Android单元测试(二)

    在上一篇文章中我们介绍了Android单元测试入门所需了解的内容,本文接上文继续学习单元测试相关框架。本文介绍了A...

  • 2019-08-28

    浅谈iOS单元测试 iOS单元测试从入门到应用 - 简书

  • Javascript入门基础篇第二天

    Javascript入门基础篇第二天 回顾上节: 1、javascript介绍 2、基于对象的内存管理 javas...

  • JavaScript精华课程推荐(入门——进阶)

    一、JS基础 1、JavaScript入门篇 本课程让您快速认识JavaScript,熟悉基本语法、窗口交互方法和...

网友评论

    本文标题:入门单元测试(javaScript篇)

    本文链接:https://www.haomeiwen.com/subject/qghkdftx.html