Тестирование 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/

Другие вопросы по тегам