我怎样才能进行单一测试?

时间:2015-12-19 05:20:54

标签: gruntjs mocha browserify mocha-phantomjs

在我的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

     

正在运行“remove:default_options”   (删除)任务

     

运行“browserify:test”(browserify)任务   捆绑测试/ browser / single.js创建。

     

运行“browserify:tests”(browserify)任务   错误:无法从'/ Users / ekkis / Development / tst / tests / browser'找到模块'./lib/chai'警告:运行错误   咕噜-browserify。使用--force继续。

     

因警告而中止。

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

可能吗?其他人如何处理有时只想运行一个测试文件的事实?

TIA - e

1 个答案:

答案 0 :(得分:0)

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

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