susi-forge
Version:
84 lines (76 loc) • 2.14 kB
JavaScript
'use strict';
module.exports = function(grunt) {
grunt.config.merge({
watch: {
test_api: {
files: [
'<%= pkg.project.directories.test %>definitions/specifications/**/*',
],
tasks: ['karma:test_api'],
options: {
spawn: true,
interrupt: true,
}
}
},
sudo_subcomponents: {
test: {
options: {
cmd: 'grunt',
args: ['test']
}
}
},
karma: {
test_api: {
options: {
frameworks: ['jasmine'],
files: [
'<%= pkg.project.directories.bin %>vendor.js',
'<%= pkg.project.directories.bin %>templates.js',
'<%= pkg.project.directories.bin %>client.js',
'<%= pkg.project.directories.test %>definitions/specifications/**/*.js'
],
reporters: [
'progress',
// 'dots', // Zeigt den Fortschritt in der Konsole durch eine wachsende Anzahl von "." an.
'coverage', // Generiert Code Coverage Reports.
// 'junit'
],
coverageReporter: {
type: 'html',
// @TODO ../test-coverage on jenkins
dir: '<%= pkg.project.directories.test %>output/coverage/'
},
// junitReporter: {
// // @TODO folder on jenkins
// outputFile: '<%= pkg.project.directories.test %>output/results/junit.xml'
// },
runnerPort: 9999,
singleRun: true,
browsers: [
// @TODO from option and platform (+user task)
'PhantomJS',
// 'Firefox',
// 'Chrome'
]
}
},
},
cucumberjs: {
test_behavior: {
src: '<%= pkg.project.directories.test %>features/**/*.feature',
options: {
steps: '<%= pkg.project.directories.test %>definitions/step_definitions/',
format: 'pretty'
}
}
}
});
grunt.registerTask('test', '', [
'build',
// 'sudo_subcomponents:test',
'karma:test_api',
'cucumberjs:test_behavior'
]);
};