zoukankan      html  css  js  c++  java
  • Js单元测试工具 以及 粗浅的对我的快乐运算进行测试

    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组测试数据均通过。

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

  • 相关阅读:
    20201112 装饰器之函数即变量
    2月13日:毕业设计进度
    2月12日:毕业设计进度
    2月11日:毕业设计进度
    2月10日:毕业设计进度
    2月9日:毕业设计进度
    2月8日:毕业设计进度
    2月7日:毕业设计进度
    2月6日:毕业设计进度
    2月5日:毕业设计进度
  • 原文地址:https://www.cnblogs.com/yyyyg/p/5388862.html
Copyright © 2011-2022 走看看