博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Js单元测试工具 以及 粗浅的对我的快乐运算进行测试
阅读量:7225 次
发布时间:2019-06-29

本文共 2120 字,大约阅读时间需要 7 分钟。

1. Karma的介绍

Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma。Karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应,比Cassandra这种名字更让人猜不透!

Karma是一个基于Node.js的JavaScript测试执行过程管理工具(Test Runner)。该工具可用于测试所有主流Web浏览器,也可集成到CI(Continuous integration)工具,也可和其他代码编辑器一起使用。这个测试工具的一个强大特性就是,它可以监控(Watch)文件的变化,然后自行执行,通过console.log显示测试结果。

2. jasmine介绍

Jasmine是一个用来编写Javascript测试的框架,它不依赖于任何其它的javascript框架,也不需要对DOM。它有拥有灵巧而明确的语法可以让你轻松的编写测试代码。

 

好了,上面两条都是我在网上找来的,用处不大。

 

接下来将展示我整个测试过程。

 

首先的首先 初始化npm 输入npm install

 

1.首先进入代码所在目录,安装karma,使用命令

npm install --save-dev karma

其中 --save-dev将karma安装到开发环境,会在package.json中添加一条

"devDependencies": {  "karma": "^0.13.22"}

2.接着初始化karma,使用

karma init

选择使用jasmine,一路回车,最后会生成一个文件karma.conf.js。

在karma.conf.js中设置要测试的目标js以及测试用例js的位置。这里修改files的参数即可,我的配置如下。

// list of files / patterns to load in the browser    files: [        'js/**/*.js',        'test/**/*.js'    ],

其中**表示匹配任意数目的任意字符,包括'/'

*也匹配任意字符,但是*不包括'/'。

最后在test中新建一个TestCase.js文件,用来编写测试用例。

这是我的TestCase.js,我只测试了生成结果的正确性(自己构造分数表达式),

describe("A test case on function", function(){    it("test answer", function(){        var f = [];        var a = new Fraction(1,3);        f.push(a);        f.push('+');        a = new Fraction(2,3);        f.push(a);        var i = [];        i.push(f);        expect(1).toEqual(outputFraction(normalizeFraction(showFormula(i))));    });    it("test answer", function(){        var f = [];        var a = new Fraction(7,8);        f.push(a);        f.push('+');        a = new Fraction(2,3);        f.push(a);        var i = [];        i.push(f);        expect('37/24').toEqual(outputFraction(normalizeFraction(showFormula(i))));    });    it("test answer", function(){        var f = [];        var a = new Fraction(1,3);        f.push(a);        f.push('-');        a = new Fraction(2,3);        f.push(a);        var i = [];        i.push(f);        expect('-1/3').toEqual(outputFraction(normalizeFraction(showFormula(i))));    });});

这里测试了三组数据,分别是1/3+2/3,7/8+2/3,1/3-2/3,手动计算结果传入参数。

在cmd中输入

karma start

后会自动运行chrome浏览器,并且给出测试结果,运行结果如下:

结果显示 测试成功 3组测试数据均通过。

以上,是测试的整个过程。

 

转载于:https://www.cnblogs.com/yyyyg/p/5388862.html

你可能感兴趣的文章
org.gjt.mm.mysql.Driver与com.mysql.jdbc.Driver区别
查看>>
部署exchange2010三合一:之五:功能测试
查看>>
nginx编译安装参数
查看>>
代码托管
查看>>
第一次给ThinkPHP5核心框架提pull request的完整过程
查看>>
U-Mail邮件系统何以誉为信息整合中转枢纽
查看>>
强大的vim配置文件,让编程更随意
查看>>
崛起于Springboot2.X之配置文件详解(10)
查看>>
定时执行程序-Quartz简单实例
查看>>
【CF 应用开发大赛】MyfCMS系统
查看>>
windows下kangle虚拟主机-架设java空间的教程及心得
查看>>
Discuz! X2.5:文件目录结构
查看>>
我的友情链接
查看>>
TCP/IP协议及首部初了解
查看>>
防火墙iptables
查看>>
CUDA搭建
查看>>
memcached与PostgreSQL缓存命中机制
查看>>
百度地图路线检索(3)
查看>>
linux netstat 命令详解
查看>>
对前几篇blog的环境等的补充说明
查看>>