jasmine-jquery / fixture - 包含/ require brunch devDependencies的位置?

时间:2014-05-05 22:35:57

标签: brunch jasmine-jquery karma-jasmine

ReferenceError: Can't find variable: affix

我正在尝试运行Jasmine规范,它无法从affix找到jasmine-fixture。我的规范没有使用require,但我没有看到任何需要它的引用。

更麻烦的是,在我的affix中没有提及jasminevendor.js因为它只是一个devDependency,所以我不确定如何使用业力跑步者/茉莉花规格。

bower.json:

{
    "name": "af-calendar",
    "version": "0.0.1",
    "main": "public/js/app.js",
    "ignore": [
        "**/.*",
        "node_modules",
        "bower_components"
    ],
    "dependencies": {
        "moment": ">=2.5.1",
        "moment-range": "alienfast/moment-range#3454882ae8e0493b20ff1c6651956b906c8f975d",
        "jquery": ">=1.10.2",
        "jquery-ui": ">=1.10.3",
        "jquery-simulate": "*"
    },
    "devDependencies": {
        "jasmine-jquery": ">=2.0.3",
        "jasmine-fixture": ">=1.2.0"
    },
    "overrides": {
        "jquery-simulate": {
            "main": "jquery.simulate.js",
            "dependencies": {
                "jquery": "*"
            }
        }
    }
}

brunch-config.coffee

exports.config =
    files:
        javascripts:
            joinTo:
                'js/vendor.js': /^(bower_components|vendor)/
                'js/app.js': /^app/

#            pluginHelpers: 'js/app.js'

        stylesheets:
            joinTo:
                'css/vendor.css': /^(vendor|bower_components)/
                'css/app.css': /^app/

#       templates:
#            joinTo: 'js/app.js'

    plugins:
        autoReload:
            enabled:
                js: on
                css: on
                assets: off

        imageoptimizer:
            path: 'images'
            smushit: no

        coffeelint:
            pattern: /^app\/.*\.coffee$/

            options:
#                indentation:
#                    value: 4
#                    level: "warn"
#
                max_line_length:
                    level: "ignore"

    conventions:
        assets: /(assets|vendor\/assets|font)/

问题

我不想发货或将它们包含在vendor.js中。我如何为我的业力/茉莉花规格测试包含/要求它们?

1 个答案:

答案 0 :(得分:0)

因此,似乎只通过karma.conf的files部分加载了仅测试依赖项。虽然对于大多数代码我们习惯于在bower.json中包含一个新的依赖项(最终在app.js或vendor.js中取决于早午餐配置),devDependencies不包含在任何组合文件中并且必须具体引用,例如:

    // list of files / patterns to load in the browser
    files: [
        'public/js/**/*.js',
        'bower_components/jasmine-jquery/lib/jasmine-jquery.js',
        'bower_components/jasmine-fixture/dist/jasmine-fixture.js',
        'spec/spec_helper.coffee',
        'spec/**/*.spec.coffee'
    ],      

这不像brunch如何为vendor.js组合文件那么方便,而且可能更好,但上面的工作原理。