Тестирование grunt, qunit, nodejs
Как я могу проверить бэкэнд-код nodejs, используя qunit & grunt. В Gruntfile.js как указать только js-файлы, поэтому в qunit repo пример Gruntfile.js рассказывает о создании html-файлов и там я могу увидеть пример html-файлов, которые можно протестировать с помощью grunt, но если я хочу тестировать только файлы java-скриптов для nodejs, как я могу это использовать? Может ли кто-нибудь указать на этот пример фрагмент кода Gruntfile?
Мой Gruntfile.js выглядит так:
module.exports = function( grunt ) {
grunt.loadNpmTasks( "grunt-git-authors" );
grunt.loadNpmTasks( "grunt-contrib-concat" );
grunt.loadNpmTasks( "grunt-contrib-jshint" );
grunt.loadNpmTasks( "grunt-contrib-qunit" );
grunt.loadNpmTasks( "grunt-contrib-watch" );
grunt.initConfig({
pkg: grunt.file.readJSON( "package.json" ),
qunit: {
qunit: [
"src/test.js"
]
},
watch: {
files: [ "*", ".jshintrc", "{src,test}/**/{*,.*}" ],
tasks: "default"
}
});
grunt.registerTask( "build", [ "qunit" ] );
};
И мой файл test.js выглядит следующим образом:
test("testing", function(assert) {
var val1 = 10;
equal(10, val1, "We expect to be 10");
});
Но при запуске "grunt qunit" выдает ошибку ниже:
Testing src/test.js
>> PhantomJS timed out, possibly due to a missing QUnit start() call.
Warning: 1/1 assertions failed (0ms) Use --force to continue.
Aborted due to warnings.
Пожалуйста, дайте мне знать правильный способ упоминания в Gruntfile.
С уважением -M-
1 ответ
Вы должны передать html-файл вместо js-файла, с включенным в него qusit-клиентским js-файлом. Таким образом, в этом случае вы можете иметь этот минимальный HTML-файл:
<script src='qunit.js'></script>
<script src='test.js'></script>
(Хотя люди будут недовольны тем, что у меня нет html, тегов head,body и тому подобного. Я предполагаю, что вы знаете, как они работают, и сами. Это не совсем правильный html, но в данном случае это работает)
Откуда qunit от http://qunitjs.com/: http://code.jquery.com/qunit/qunit-1.14.0.js
И в вашем gruntfile измените его на "src/test.html"
и это будет работать нормально.
В принципе gurnt-contrib-qunit
еще не настолько продвинутый. Ты должен сделать больше работы:)
Вы можете следовать этому руководству для получения дополнительной информации: http://jordankasper.com/blog/2013/04/automated-javascript-tests-using-grunt-phantomjs-and-qunit/