前端自动化测试

原文链接 fanshunkai的博客

gulp

使用gulp实现起服务,自动编译less和ES6

安装gulp

1
$ npm install gulp -g

安装connect,less和babel

1
2
$ npm init -y  //npm初始化
$ npm install gulp gulp-connect gulp-less gulp-babel babel-core babel-preset-es2015 --save-dev

创建gulpfile.js并编写gulp task

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var gulp = require('gulp'),
connect = require('gulp-connect'),
less = require('gulp-less'),
babel = require('gulp-babel')


gulp.task('server',function(){
connect.server({
port:'8000'
})
})

gulp.task('css',function(){
gulp.src('style/*.less')
.pipe(less())
.pipe(gulp.dest('./style'))
})

gulp.task('es6',function(){
gulp.src('./scripts/index.js')
.pipe(babel())
.pipe(gulp.dest('./dest'))
})
gulp.task('watch',function(){
gulp.watch('./style/**/*.less',['css']);
gulp.watch('./scripts/**/*.js',['es6']);
})
gulp.task('default',['css','es6','watch','server'],function(){
console.log('success')
})

运行gulp,出现如下画面,gulp配置成功

配置karma

安装karma

1
$ npm install karma karma-jasmine jasmine-core karma-phantomjs-launcher --save-dev

配置scripts 在package.json中配置相关scripts命令

1
2
3
4
5
"scripts": {
"test": "karma start",
"karmainit":"karma init",
"start": "gulp"
},

初始化karma

1
$ npm run karmainit

选择 jasmine phantomjs 其余默认
生成karma.conf.js文件

配置karma.conf.js files中配置目标测试文件和测试用例,singleRun设为true

1
2
3
4
5
files: [
'./dest/add.js',
'./test/add.spec.js'
],...
singleRun:true

写测试用例 在./test/add.spec.js文件中写用例

1
2
3
4
5
describe('测试加法函数',function(){
it('测试add(1)是否等于2',function(){
expect(add(1)).toBe(2);
})
})

运行karma进行单元测试

1
$ npm run test

出现以下画面,说明测试通过

GitHub: GitHub

分享到:
Disqus 加载中...

如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理