资讯专栏INFORMATION COLUMN

Javascript CI篇(1)- Jasmine 基础学习

yanwei / 3006人阅读

jasmine 简介

Jasmine 是一个含有丰富的断言库的测试框架。目前我用的最新的版本是:2.6

基础篇 命令行中环境中使用jasmine

安装

npm install -g jasmine //这里采用全局安装,好处是直接cmd就能用,也可以采用本地安装

初始化配置文件

jasmine init

生成的配置文件如下jasmine.json

{
  "spec_dir": "spec", //spec 所在目录
  "spec_files": [
    "**/*[sS]pec.js"        //测试文件,相对于spec_dir
  ],
  "helpers": [
    "helpers/**/*.js"       //测试前辅助文件,相对于spec_dir
  ],
  "stopSpecOnExpectationFailure": false, //
  "random": false
}

运行测试

//直接根据配置文件运行
jasmine 

//执行测试某个文件
jasmine appSpec.js
node 环境中使用jasmine
var Jasmine = require("jasmine");
var jasmine = new Jasmine();

加载配置文件

//方式1
jasmine.loadConfigFile("spec/support/jasmine.json");

//方式2
jasmine.loadConfig({
    spec_dir: "spec",
    spec_files: [
        "appSpec.js",
        "requests/**/*[sS]pec.js",
        "utils/**/*[sS]pec.js"
    ],
    helpers: [
        "helpers/**/*.js"
    ]
});

自定义测试完成事件

jasmine.onComplete(function(passed) {
    if(passed) {
        console.log("All specs have passed");
    }
    else {
        console.log("At least one spec has failed");
    }
});

自定义测试报告

jasmine.configureDefaultReporter({
    timer: new this.jasmine.Timer(),
    print: function() {
        process.stdout.write(util.format.apply(this, arguments));
    },
    showColors: true,
    jasmineCorePath: this.jasmineCorePath
});
var CustomReporter = require("./myCustomReporter");
var customReporter = new CustomReporter();

jasmine.addReporter(customReporter);

执行测试

jasmine.execute();
jasmine.execute(["fooSpec.js"], "a spec name");

简单完整的测试案例

var Jasmine = require("jasmine");
var jasmine = new Jasmine();

jasmine.loadConfigFile("spec/support/jasmine.json");
jasmine.configureDefaultReporter({
    showColors: false
});
jasmine.execute();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/84140.html

相关文章

  • Javascript CI(3)- Karma + Jasmine + istanbul 集成

    摘要:脚本修改配置文件这里要注意,预处理的文件是源码,而不是测试文件,因为我们要查源码的测试覆盖率的配置这两个覆盖率报告运行运行后直接在网页中点可以看测试情况。如果你看覆盖率需要到项目目录找到对应浏览器地下的文件。 karma 和 jasmine 基础 请查看Jasmine基础学习和Karma基础学习 安装 //karma npm install karma --save-dev //ja...

    wwolf 评论0 收藏0
  • Javascript CI(2)- Karma 基础学习

    摘要:核心功能就是启动一个服务并监听项目文件改变,文件改变后再刷新服务器。 Karma 简介 Karma是Testacular的新名字,在2012年google开源了Testacular,2013年Testacular改名为Karma。Karma是一个让人感到非常神秘的名字,表示佛教中的缘分,因果报应,比Cassandra这种名字更让人猜不透! Karma是一个基于Node.js的JavaS...

    Ku_Andrew 评论0 收藏0
  • 译:你该使用什么单元测试,Qunit、Jasmine还是Mocha?

    摘要:不论你是在写浏览器端还是后端的,总存在那么一个问题我该使用什么单元测试库去确保我的代码如预期的运行呢总是有那么一些流行的框架可供选择。在中仍然流行,并且拥有来自许多地方性的支持。如果你的测试使用它,直到调用了才能通过。 不论你是在写浏览器端javascript还是后端的nodejs,总存在那么一个问题:我该使用什么单元测试库去确保我的代码如预期的运行呢?总是有那么一些流行的框架可供选择...

    Forelax 评论0 收藏0
  • 为你的JavaScript代码写测试

    摘要:下面会讲解如何使用以及,来为我们的代码编写测试。我们不妨先选择前者综上所述,我们要使用组合来为我们的代码写测试。他们分别会在每个测试的之前和之后执行一次。副本最后还有一个问题是如何结合来为我们的代码编写测试。 下面会讲解如何使用 karama, jasmine 以及 webpack,来为我们的 ES6 代码编写测试。(最后我写了一个可用的例子,请查看 ES2015-Starter-Ki...

    FleyX 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<