2015-12-19 53 views
0

在我Gruntfile.js我有以下几点:如何运行单个测试?

grunt.initConfig({ 
    remove: { 
     default_options: { 
      trace: false, 
      fileList: [ 
       'tests/browser/libs.js', 
       'tests/browser/tests.js' 
      ] 
     } 
    }, 
    browserify: { 
     test: { 
      src: ['src/*.js', 'tests/browser/editor.js'], 
      dest: 'tests/browser/single.js' 
     }, 
     tests: { 
      src: ['tests/browser/*.js'], 
      dest: 'tests/browser/tests.js' 
     }, 
     libs: { 
      src: ['src/*.js'], 
      dest: 'tests/browser/libs.js' 
     } 
    }, 
    mocha_phantomjs: { 
     all: ['tests/browser/*.html'] 
     , single: ['tests/browser/single.html'] 
    } 
    }); 

    grunt.registerTask('test-x', ['remove', 'browserify:test', 'mocha_phantomjs:single']); 
    grunt.registerTask('test-web', ['remove', 'browserify', 'mocha_phantomjs']); 

其中的想法是,我应该或者能够运行所有测试或运行特定的测试文件...但我有问题吧:

$ grunt test-web

Running "remove:default_options" (remove) task

Running "browserify:test" (browserify) task Bundle tests/browser/single.js created.

Running "browserify:tests" (browserify) task Error: Cannot find module './lib/chai' from '/Users/ekkis/Development/tst/tests/browser' Warning: Error running grunt-browserify. Use --force to continue.

Aborted due to warnings.

我认为问题是,当我在'test-web'定义中运行'browserify'时,除'tests'和'libs'之外,它运行'test'。所以我认为我需要的是一种运行browserify:tests & libs的方法。

是可能的吗?其他人如何处理这样的事实,即有时候人们只想运行一个测试文件?

TIA - 电子

+0

可以运行 “NPM安装--save-dev的钗” ......然后重试?我认为你在测试中加载了“chai”(https://www.npmjs.com/package/chai),但未安装 – CyrilleGuimezanes

+0

它已安装。我还没有深入了解为什么该消息,但它的安装 – ekkis

回答

0

想通了,我就可以有多个步骤:

grunt.registerTask('test-web', ['remove', 'browserify:tests', 'browserify:libs', 'mocha_phantomjs']);