PhantomJS ловит ошибку в жасмине
вопрос
У меня очень большой набор тестов, созданный для крупномасштабного приложения.
Пакет включает в себя свыше двадцати различных файлов спецификаций JS, которые проходят сотни тестов для указанного приложения. Дошло до того, что Jasmine (запущенный через Grunt watch) не может пройти все тесты, не выдав сообщение "Warning: undefined Use --force to continue".
Если я запускаю файл SpecRunner.html, все тесты проходят, и там нет никакой дополнительной информации, хотя PhantomJS говорит, что там можно найти больше информации.
Есть ли какое-то ограничение на количество тестов, которые можно написать??
Я использую grunt v. ^ 0.4.5 и grunt-contrib-jasmin v. ~ 0.6.3.
Gruntfile.js
module.exports = function(grunt) {
// Project configuration. Can be any arbitrary data.
// Things you might want to <% %> include in tasks.
// These data can be accessed by grunt.config.<property>
// Taksa are also configured here taking the format:
// <taskname>: { <target1>: {}, <target2>: {} }
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
js: {
lib: [
'PriceAnalytics.Web/Scripts/lib/jquery/*.min.js', // jquery needs to be loaded before bootstrap
'PriceAnalytics.Web/Scripts/lib/bootstrap/bootstrap.min.js',
'PriceAnalytics.Web/Scripts/lib/knockout/knockout*.js',
'PriceAnalytics.Web/Scripts/lib/underscore/underscore.min.js',
'PriceAnalytics.Web/Scripts/lib/underscore/underscore.mixin.deepExtend.js',
'PriceAnalytics.Web/Scripts/lib/globalize/globalize.js',
'PriceAnalytics.Web/Scripts/lib/highcharts/highcharts.js'
],
src: 'PriceAnalytics.Web/Scripts/src/**/*.js',
spec: 'PriceAnalytics.Web.Test/spec/**/*.js'
},
jasmine: {
src: '<%= js.src %>',
options: {
specs: '<%= js.spec %>',
vendor: '<%= js.lib %>',
//display: 'short',
summary: true
//keepRunner: true could probably leverage this option so that we don't have to manually maintain teh specrunner script tags
}
},
watch: {
gruntfile: {
files: '<%= jshint.gruntfile.src %>',
tasks: ['jshint:gruntfile']
},
src_spec: {
files: '<%= jshint.src_spec.src %>',
tasks: ['jshint:src_spec', 'jasmine']
}
}
});
// Load the plugins
grunt.loadNpmTasks('grunt-contrib-jasmine');
grunt.loadNpmTasks('grunt-contrib-watch');
// Default task(s)
grunt.registerTask('default', ['jasmine']);
};
1 ответ
Оказывается, в коде нашего приложения была ошибка, которая вызвала ошибку из try/catch, из-за чего тесты не выполнялись / не запускались.