AngularJS code converage
karma-coverage
The easiest way is to keep karma-coverage as a devDependency in your package.json. More details refer to https://github.com/karma-runner/karma-coverage
{
"devDependencies": {
"karma": "~0.10",
"karma-coverage": "~0.1"
}
}
example karma_code_coverage.conf.js
module.exports = function(config){
config.set({
basePath : '../../',
autoWatch : true,
frameworks: ['jasmine'],
browsers : ['Firefox'],
plugins : [
//'karma-chrome-launcher',
'karma-firefox-launcher',
'karma-jasmine',
'karma-coverage'
],
// Continuous Integration mode
// if true, Karma captures browsers, runs the tests and exits
singleRun : true,
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters : ['progress', 'coverage'],
coverageReporter:{
type:'html',
dir: 'test_out/angular/coverage/',
subdir:'report'
},
// preprocess matching files before serving them to the browser
// available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
preprocessors: {
"src/js/angular/**/*.js":"coverage"
}
});
};
Gruntfile.js sample
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-karma');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.initConfig({
'pkg': grunt.file.readJSON('package.json'),
'meta': {
'jsFilesForTesting': [
'src/bower_components/angular/angular.js',
'src/bower_components/angular-route/angular-route.js',
'src/bower_components/angular-resource/angular-resource.js',
'src/bower_components/angular-animate/angular-animate.js',
'src/bower_components/angular-sanitize/angular-sanitize.js',
'src/bower_components/angular-mocks/angular-mocks.js',
'src/bower_components/restangular/dist/restangular.js',
'src/bower_components/underscore/underscore.js',
'src/bower_components/jquery/jquery.js',
'src/bower_components/bootstrap/dist/js/bootstrap.js',
'src/js/usher/ajax.js',
'src/js/lib/jquery.sparkline.js',
'src/js/lib/ui-bootstrap-tpls-0.12.0.min.js',
'src/js/ui-2/common/customized-modal.js',
'test/angular/unit/**/*.js'
]
},
'karma': {
'development': {
'configFile': 'test/angular/karma_grunt.conf.js',
'options': {
'files': [
'<%= meta.jsFilesForTesting %>',
'src/js/angular/**/*.js'
]
}
},
'coverage':{
'configFile' : 'test/angular/karma_code_coverage.conf.js',
'options':{
'files':[
'<%= meta.jsFilesForTesting %>',
'src/js/angular/**/*.js'
]
}
},
'dist': {
'options': {
'configFile': 'test/angular/karma_grunt_dist.conf.js',
'files': [
'<%= meta.jsFilesForTesting %>',
'dist/<%= pkg.name %>-<%= pkg.version %>.js'
]
}
},
'minified': {
'options': {
'configFile': 'test/angular/karma_grunt_minified.conf.js',
'files': [
'<%= meta.jsFilesForTesting %>',
'dist/<%= pkg.name %>-<%= pkg.version %>.min.js'
]
}
}
},
'jshint': {
'options': {
'reporter': require('jshint-jenkins-violations-reporter'),
'reporterOutput': 'test_out/angular/jshint.xml',
'force': true,
'jshintrc': true
},
'beforeconcat': ['src/js/angular/**/*.js']
},
'concat': {
'dist': {
'src': ['src/js/angular/**/*.js'],
'dest': 'dist/<%= pkg.name %>-<%= pkg.version %>.js'
}
},
'uglify': {
'options': {
'mangle': false
},
'dist': {
'files': {
'dist/<%= pkg.name %>-<%= pkg.version %>.min.js': ['dist/<%= pkg.name %>-<%= pkg.version %>.js']
}
}
}
});
grunt.registerTask('test', ['karma:development','karma:coverage']);
grunt.registerTask('coverage',['karma:coverage']);
grunt.registerTask('build',
[
'karma:development',
'karma:coverage',
'jshint',
]);
};
AngularJS code converage的更多相关文章
- Jenkins integration for AngularJS code coverage
Install Jenkins plugins 'Cobertura' and 'HTML Publisher' 1. add Post-build Actions "Publish HTM ...
- Using AngularJS with .NET MVC 5
This tip shows the use of AngularJS with .NET MVC5 application. Here is a simple step-by-step exampl ...
- Ultimate guide to learning AngularJS in one day
What is AngularJS? Angular is a client-side MVC/MVVM framework built in JavaScript, essential for mo ...
- AngularJS实现简单的分页功能
本篇文章由:http://xinpure.com/angularjs-simple-paging-functionality/ 初学 AngularJS, 尝试着写一些小功能 代码逻辑写得略粗糙,仅仅 ...
- bootstrap 练习
bookList.html <!DOCTYPE html> <html lang="zh-cn"> <head> <!-- 父路径 --& ...
- Cheatsheet: 2015 08.01 ~ 08.31
Java Beginner's Guide to MVC with Spring Framework Exploring the Spring Web MVC for Web Application ...
- Angular DirtyChecking(脏值检查) $watch, $apply, $digest
Dirty Checking (脏值检查) Digest cycle and $scope Digest cycle and $scope First and foremost, AngularJS ...
- AnguarJS——第10章 路由
第10章 路由 一个应用是由若个视图组合而成的,根据不同的业务逻辑展示给用户不同的视图,路由则是实现这一功能的关键. 10.1 SPA SPA(Single Page Application)指的是通 ...
- How to Build a Search Page with Elasticsearch and .NET
Although SQL Server's Full-Text search is good for searching text that is within a database, there a ...
随机推荐
- React入门1
React教程 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- UNion ALL 和 UNION 的区别
UNION: 指定合并多个结果集并将其作为单个结果集返回.ALL: 将全部行并入结果中.其中包括重复行.如果未指定该参数,则删除重复行.
- Can't initialize OCI. Error -1
今天使用Toad连接Oracle时出现"Can't initialize OCI. Error -1" 解决方法 因为是刚做的windows 7系统,所以没有设置更改通知的时间 把 ...
- html背景为灰色 不能操作,中间div可以操作
<container style="position: absolute; top: 0px; left: 0px; width: 0px; height: 0px; z-index: ...
- springMVC源码浅析
因故,需要学习springmvc,现在demo已经跑起来.列文分析springmvc并简单对比struts2. springmvc的核心对象dispatcherServlet.struts2的核心对象 ...
- hdoj 3336 Count the string【kmp算法求前缀在原字符串中出现总次数】
Count the string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Android中实现控件圆角边框
首先,在drawable文件夹下新建一个xml文件: <?xml version="1.0" encoding="utf-8"?> <shap ...
- 我的ubuntu配置
每次装系统都是非常蛋疼的过程,新装的系统还是要配置一下的 首先安装google拼音 sudo apt-get install fcitx fcitx-googlepinyin 然后按装numix主题 ...
- 验证码 jsp生成
<%@ page contentType="image/jpeg" import="java.awt.*, java.awt.image.*,java.util.* ...
- HTML5实践之歌词同步播放器
歌曲播放我们会发现他的兼容性不是很好,譬如IE上能播放的flash播放器,再firfox或者chrome上就不是很好的应用了,因为有插件的阻碍!HTML5的出现让这一切成为了可能,但是播放器虽然播放了 ...