Jasmine

 对于一个从没有接触过WEB前端的新手来说
 这几天的表情一直是黑人问号脸.jpg。
 感觉本宝宝要入坑了,233333··

关于WEB前端的事,可以先看看前辈的总结,对于概念有一个大致的了解,会对以后查问题时,遇到新的名词也不至于什么都不知道。

不说其他的,先给你笔者认为最适合新手的教程1和教程2

Jasmine是什么?

Jasmine的开发团队来自PivotalLabs,他们一开始开发的JavaScript测试框架是JsUnit,来源于著名的JAVA测试框架JUnit。JsUnit是xUnit的JavaScript实现。但是JsUnit在2009年后就已经停止维护了,他们推出了一个新的BDD框架Jasmine。Jasmine不依赖于任何框架,所以适用于所有的Javascript代码。

 一句话:提供了一种语法,目的是供你测试代码,用到的是敏捷开发。

下载安装

cmd或者NPM下执行(最好全局安装)

在Ubuntu下一定要
sudo npm install -g jasmine
sudo npm install -g jasmine
sudo npm install -g jasmine


npm install -g jasmine

简单使用过程(在命令行下,还有html)

笔者是从NPM上下载,在包管理目录下没有找到相应的examples
所以,查了一下官方文档

Jasmine_第1张图片
在Git Bash下执行
Started下面有5个点,分别表示每个it

然后在test666这个文件下查看,有一个jasmine.json的文件,这个文件很重要,是jasmine的配置文件,如下:

Jasmine_第2张图片
json
spec_dir: 指定扫描测试文件的根目录
spec_files: 匹配测试文件的表达式
helpers:  Helper 文件会在所有的 spec 之前预先执行
stopSpecOnExpectationFailure: 当有错误出现时是否终止所有测试
random: 是否打乱测试顺序

当你自己写程序的时候这些是需要修改的,改成你需要的就好

当然还有一种办法,单独执行.js文件。

Jasmine_第3张图片
filename.PNG

JS文件如下


Jasmine_第4张图片
JS

Jasmine还有其他语法,请移步相关教程。


更新记录:2017/4/20


现在有一个问题?不知道你有没有想过

Jasmine_第5张图片
为什么可以直接用jasmine命令,就可以有结果

好吧!好像答案是这样的:因为有 jasmine.json的配置文件(论配置文件的重要性)

jasmine语法

说语法之前,来介绍一个包用来美化jasmine的输出结果
jasmine-spec-reporter的官方文档

npm install jasmine-spec-reporter --save-dev

把以下代码复制到,上次我们用到的test.js
至于以下代码究竟是什么,等笔者懂的时候,再来更新

const SpecReporter = require('jasmine-spec-reporter').SpecReporter;

jasmine.getEnv().clearReporters();               // remove default reporter logs
jasmine.getEnv().addReporter(new SpecReporter({  // add jasmine-spec-reporter
  spec: {
    displayPending: true
  }
}));

我们来看看结果:

Jasmine_第6张图片
是不是美丽了很多

一个简单的jasmine测试用例总是以describe开始的,它代表一组相似的测试用例,然后具体的测试用例以it开始,框架如下

describe(" ",function(){
    it(" ",function(){
            expect( ).to***( );
    });

    it(" ",function(){
           expect( ).to***( );
    });
});
expect().toEqual();  比较字面量的值
expect().toBe();  类似于 ' === '
expect().toMatch(); 匹配正则表达式

你可能感兴趣的:(Jasmine)