从文档中 (强调我的)

要在浏览器中的脚本标记中加载的库文件。 该设置通常不适用于节点运行。如果是,文件将是 require'd. 值是文件名和/或全局模式的数组。文件按提供的顺序加载。它可能包含重复项,例如[“测试/lib/core.js”,“测试/lib/*/.js“],文件只会加载一次。测试人员是在库和源后加载的,但在测试之前。

这到底是什么意思?当他们得到 require'd, ,它们被包含为什么?在什么变量名下?我有一些全局方法(testSetUptestTearDown)我喜欢在测试之间重用。据此,我只能在浏览器中测试时在测试之间使用这些方法,而不能在 Node 中测试时使用这些方法。

这是我的配置文件:

var config = module.exports;

config['Browser Tests'] = {
    rootPath: '../',
    environment: 'browser',
    sources: [
        'src/*.js'
    ],
    deps: [
        'submodules/d3/d3.v2.min.js'
    ],
    testHelpers: [
        'test/helpers/*.js'
    ],
    tests: [
        'test/test_*.js'
    ]
};

config["Node tests"] = {
    rootPath: '../',
    environment: "node",
    tests: [
        'test/test_*.js'
    ]
};
有帮助吗?

解决方案

文档告诉您的是,这些文件是必需的,但它们的导出将会丢失。因此,除非你的助手修改全局对象,否则这在节点上没有用。

但是,您可以自由地将共享助手放在单独的文件中并要求您自己。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top