对于一个从没有接触过WEB前端的新手来说
这几天的表情一直是黑人问号脸.jpg。
感觉本宝宝要入坑了,233333··
关于WEB前端的事,可以先看看前辈的总结,对于概念有一个大致的了解,会对以后查问题时,遇到新的名词也不至于什么都不知道。
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
所以,查了一下官方文档
Started下面有5个点,分别表示每个it
然后在test666
这个文件下查看,有一个jasmine.json
的文件,这个文件很重要,是jasmine的配置文件,如下:
spec_dir: 指定扫描测试文件的根目录
spec_files: 匹配测试文件的表达式
helpers: Helper 文件会在所有的 spec 之前预先执行
stopSpecOnExpectationFailure: 当有错误出现时是否终止所有测试
random: 是否打乱测试顺序
当你自己写程序的时候这些是需要修改的,改成你需要的就好
当然还有一种办法,单独执行.js
文件。
JS文件如下
JS
Jasmine还有其他语法,请移步相关教程。
更新记录:2017/4/20
为什么可以直接用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测试用例总是以describe开始的,它代表一组相似的测试用例,然后具体的测试用例以it开始,框架如下
describe(" ",function(){
it(" ",function(){
expect( ).to***( );
});
it(" ",function(){
expect( ).to***( );
});
});
expect().toEqual(); 比较字面量的值
expect().toBe(); 类似于 ' === '
expect().toMatch(); 匹配正则表达式
网友评论