一、下载noteJs(下载最新版本的noteJs)
下载地址:http://www.notejs.org/
二、安装Karma CLI (node Package Manager)用户可以简便的运行karma
输入命令:npm install -g karma-cli
三、安装jasmine 测试框架 karma-jasmine 和 谷歌插件(karma-chrome-launcher)。
npm install karma-jasmine karma-chrome-launcher
四:配置文件解析
module.exports = function(config){
config.set({
//放置文件的根目录
basePath: '',
//使用哪些测试框架
frameworks: ['jasmine'],
//浏览器需要加载的文件列表或者文件匹配表达式
files:[
'angular.min.js',
'angular-mocks.js',
'controller.js',
'test.js',//测试文件js文件
],
//需要排除的文件列表或者文件匹配正则表达式
exclude: [],
//web服务器商品
port: 8080,
//日志等级
//合法值为:LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_INFO,
//进行测试时是否允许随时监视文件变化
autoWatch: ture,
//启动以下浏览器, 目前可以兼容
// Chrome
// ChromeCanary
// Firefox
// Opera
// IE
browsers :['Chrome'],
//持续集成模式
//如果设置为true 则会启动浏览器, 运行测试然后退出
singleRun: false
});
};
也可以使用: karma init 生成配置文件(按照默认的配置点击下一步即可)
五:jasmine 定义测试
descript('My Message', function(){
var t;
//在每一个it执行之前被调用
beforeEach(function(){
t = true;
});
//在每一个it块执行完毕后会执行
afterEach(function(){
t = null;
});
//单元测试的核心代码
it('这个t变量不等于true', function(){
expect(t).toBeTruthy();
});
it('这个变量不等于 b 这个变量', function(){
var b = false;
expect(t).toEqual(b);//如果测试失败会弹出 it 中定义的消息
});
});
六、常用的jasmine匹配函数
1. toEqual 接受第二个参数并将两者进行深入比较(除了可以比较基本的变量,还可以比较 json)
2. toBe 函数检查参数的引用,两个参数必须指向一个对象。
3. toBeTruthy 检查参数是否为JavaScript 语法中的true (包括非空对象、非空字符串、非0数字或者布尔值true)。
4 toBeFalsy 检查是否为Javascript 语法中的false(包括空对象、未定义的变量、空字符串、数字0或者布尔值false)。
5 toBeDefined 检查函数接受的参数是否已经被定义过,也就是说变量是否已经被赋予某个引用。
6 toBeUndefined 检查参数是否为undefiend 或者根本没有被传入
7 toBeNull 检查参数是否为Null
8 toContain 检查expect 函数中的数组参数是否包含了toContain 函数中的参数
9 toMatch 检查expect 中的函数是否匹配toMatch中的正则表达式
七、在程序测试目录加载karma ,在该目录运行 npm install karma
八、 该代码目录,运行测试:
karma start
九、 使用karma run 可以让当前的服务器配置进行相同的测试
错误集锦
Cannot find module 'jasmine-core' | 下载插件:npm install jasmine-core --save-dev |