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 测试网络

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

运行 "browserify:test" (browserify) 任务 Bundle tests/browser/single.js 创建。

运行“browserify:tests”(browserify)任务错误:无法从 '/Users/ekkis/D​​evelopment/tst/tests/browser' 中找到模块 './lib/chai' 警告:运行 grunt-browserify 时出错。使用 --force 继续。

由于警告而中止。

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

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

TIA-e

4

1 回答 1

0

发现我可以有多个步骤:

grunt.registerTask('test-web', ['remove', 'browserify:tests', 'browserify:libs', 'mocha_phantomjs']);
于 2015-12-20T01:52:41.557 回答