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 ...
随机推荐
- 清理ms sql server 大日志文件数据
1.手动分离数据库: 2.手动删除日志文件: 3.重新生成日志文件: CREATE DATABASE FMIS0 ON (FILENAME = 'E:\FMIS0_DATA\FMIS0-Date') ...
- 在 SharePoint 2010 中访问数据
转:http://blog.banysky.net/?p=81001 数据访问的关键方法有哪些? | 使用查询类 | 使用 SPQuery | 使用 SPSiteDataQuery | 使用 LINQ ...
- 模拟(堆):USACO Jan11 瓶颈
题目描述 Farmer John is gathering the cows. His farm contains a network of N (1 <= N <= 100,000) f ...
- 一步一步写一个简单通用的makefile(二)
这一篇源代码沿用上一篇的源代码hellomake.c hellofunc.c hellofunc.h makefile 但是代码内容和结构有变化,如下: . ├── include │ └── h ...
- python的import与from...import的不同之处
在python用import或者from...import来导入相应的模块.模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中 ...
- Servlet小知识点
1. Sevlet是一个java类,供以其他程序调用,不能独立运行,需要Servlet引擎(Servlet容器)来管理和调度. 2. 服务器启动后,一般只会创建一个Servlet实例对象,init方法 ...
- CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆圈,八卦
转自:http://blog.csdn.net/chenhongwu666/article/details/38905803 CSS实现圆角,三角,五角星,五边形,爱心,12角星,8角星,圆,椭圆,圆 ...
- Qt4--加密日记本(子例化QMainWindow文本加密解密)
近来刚学习Qt4编程,想找个实例练习练习,于是产生了一个想法,就是怎么样做一个文本加密,这样,自己保存的一些文档可以通过软件 生成加密文本,到时候要看的时候,通过自己的软件读取就可以.既然有想法了,那 ...
- android83 Activity的生命周期,启动模式,返回时传递数据
#Android四大组件 * Activity * BroadCastReceiver * Service * ContentProvider #Activity生命周期 * oncreate:Act ...
- mybatis0203 一对一查询 resultMap实现
resultType实现的时候先要确定po类(数据库类)满不满足要求,如果不满足就要自定义一个pojo类(工具类). resultMap提供一对一关联查询的映射和一对多关联查询映射,一对一映射思路:将 ...