• Karma:2. 集成 Karma 和 mocha 进行单元测试


    上一篇文章讨论了如何集成 Karma 和 Jasmine,地址见:Karma:1. 集成 Karma 和 Jasmine 进行单元测试

    这篇文章讨论如何 Karma 集成 mocha 测试框架。

    安装 mocha 组件

    我们需要分为两个部分,基本的 mocha 测试框架和 karma 的 mocha 插件。

    安装 mocha 和 chai

    mocha 是一个测试框架,自己已经提供了一套断言,但是,我们通常会需要使用类似 Jasmine 风格的断言,通过 chai 这个断言库,可以提供 expect 风格的断言支持。所以,我们需要安装这两个库。

    i 表示 install,-D 表示这是一个开发的依赖库。

    > npm i -D chai mocha
    ├── chai@3.5.0 ├─┬ karma@0.13.21 │ └─┬ useragent@2.1.8 │ └── lru-cache@2.2.4 └─┬ mocha@2.4.5 └─┬ glob@3.2.3 └─┬ minimatch@0.2.14 └── lru-cache@2.7.3 PS C:studykarmaStudykarma1>

    有了这两个库,我们就可以写单元测试了。

    安装 karma 的 mocha 插件

    为了通过 karma 来驱动 mocha 进行单元测试,我们还需要一组 karma 插件。karma-chai 和 karma-mocha。

    > npm i -D karma-mocha karma-chai
    ├── karma-chai@0.1.0
    └── karma-mocha@0.2.2

    配置 Karma 

    在你的 Karma 配置文件中,配置使用 mocha 和 chai。

        frameworks: ['mocha', 'chai'],

    为了使用 expect, 你需要先定义这个函数。

    describe('add unit test.', function(){
        var expect = chai.expect;
        it('2 + 3 = 5', function(){
            var result = add(2, 3);
            expect( result).to.equal( 5 );     
        });
    });

    重新执行上一次的测试,应该已经成功了。

    总结

    使用 mocha 的时候,断言的写法与 Jasmine 有所不同,为了使用 expect 我们需要使用 chai 这个断言库。

  • 相关阅读:
    树点涂色
    搜索+DP的一波小水题
    洛谷 P2194 HXY烧情侣
    洛谷 P3119 [USACO15JAN]草鉴定Grass Cownoisseur
    走楼梯升级版(9.8 模拟赛。。。xxy原创)
    洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths
    Tyvj P2207 上学路线route
    cogs 2342. [SCOI2007]kshort
    洛谷 P2740 [USACO4.2]草地排水Drainage Ditches
    洛谷 P1318 积水面积
  • 原文地址:https://www.cnblogs.com/haogj/p/5209589.html
Copyright © 2020-2023  润新知