我是咕噜咕噜的新手。我正在使用a version of yeoman webapp generator(当我做对了,我想分叉)。它似乎服务于网站并正确运行mocha测试,但在livereload上遇到了麻烦。
我想要做的是让它在浏览器中运行mocha测试,因此我可以使用控制台调试和/或更丰富的输出格式。我在grunt中设置了一个测试:浏览器任务:
grunt.registerTask('test', function( target ) {
var tasks;
if ( target === 'browser' ) {
tasks = [
'clean:server',
'concurrent:test',
'autoprefixer',
'connect:livereload_test',
'watch' ];
} else {
tasks = [
'clean:server',
'concurrent:test',
'autoprefixer',
'connect:test',
'mocha'
];
}
grunt.task.run( tasks );
});
添加了“connect:livereload_test”并修改了“watch:livereload”:
livereload_test: {
options: {
open: 'test/index.html',
base: [
'.tmp',
'.',
'<%= yeoman.app %>'
]
}
},
和
livereload: {
options: {
livereload: '<%= connect.options.livereload %>'
},
files: [
'{<%= yeoman.app %>,test}/*.html',
'.tmp/styles/{,*/}*.css',
'{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js',
'test/*.js',
'test/spec/{,*/}*.js',
'<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
'test/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
]
}
分别。似乎成功地提供了test / index.html。但是,当我修改test / spec / test.js以更改测试描述(例如)时,它会注意到更改,但测试结果并不反映更改。我假设有一些我错过的笨拙的代码,但它可能是什么?
答案 0 :(得分:1)
我们已在浏览器中实现了mocha测试运行,其中包含generator-backbone中的livereload。
livereload片段由connect-livereload生成。
var LIVERELOAD_PORT = 35729;
var SERVER_PORT = 9000;
var lrSnippet = require('connect-livereload')({port: LIVERELOAD_PORT});
但仅需要('connect-livereload')不会插入index.html,您需要在connect:test
中指定它 livereload: {
options: {
middleware: function (connect) {
return [
lrSnippet,
mountFolder(connect, '.tmp'),
mountFolder(connect, yeomanConfig.app)
];
}
}
},
test: {
options: {
port: 9001,
middleware: function (connect) {
return [
lrSnippet,
mountFolder(connect, '.tmp'),
mountFolder(connect, 'test'),
mountFolder(connect, yeomanConfig.app)
];
}
}
},
检查middleware中的lrSnippet
。
然后我们需要指定任务,在generator-backbone中我们有grunt test:server
。 (source)
if (target === 'test') {
return grunt.task.run([
'clean:server',
'coffee',
'createDefaultTemplate',
'jst',
'compass:server',
'connect:test',
'watch:livereload'
]);
}
您可以在yeoman/generator-backbone/issues上找到相同的讨论。 如果您想查看,我的初始解决方法可以gist获得。
希望对你有所帮助。