Dojo 在海关地点的国际海关记者

Dojo 在海关地点的国际海关记者,dojo,intern,Dojo,Intern,我试图在intern/lib/reporters位置之外写一个定制记者,但我不明白定制记者的绝对mid应该是什么样子。e、 g 测试配置位于/var/www/tmp/intern tutorial/intern tutorial/tests/intern.js reporters : ["/var/www/tmp/intern-tutorial/customreporters/bugreporter"] 或 和bugreporter模块: define([ 'dojo/node

我试图在intern/lib/reporters位置之外写一个定制记者,但我不明白定制记者的绝对mid应该是什么样子。e、 g

测试配置位于/var/www/tmp/intern tutorial/intern tutorial/tests/intern.js

reporters : ["/var/www/tmp/intern-tutorial/customreporters/bugreporter"]

和bugreporter模块:

    define([
    'dojo/node!istanbul/lib/collector',
    'dojo/node!istanbul/lib/report/cobertura',
], function (Collector, Reporter) {
    var collector = new Collector(),
        reporter = new Reporter();

    return {
        '/coverage': function (sessionId, coverage) {
            //debugger;
            console.log("heeeere 1");
            collector.add(coverage);
        },
        '/runner/end': function () {
            //debugger;
            console.log("heeeere 2");
            reporter.writeReport(collector, true);
        }
    };
});
使用此配置,我得到错误:

Error: Failed to load module dojo/node from /var/www/tmp/intern-tutorial/dojo/node.js (parent: dojo/node!17!*)
at injectUrl (/var/www/tmp/intern-tutorial/node_modules/intern/node_modules/dojo/dojo.js:743:12)

绝对模块ID是不包含
部分的模块ID,是模块ID。第一个示例是路径,而不是模块ID。第二个示例是相对模块ID,而不是绝对模块ID。如果
基本URL
/var/www/tmp/intern tutorial
,则,您正确的绝对模块ID是
customreporters/bugreporter


总之,您遇到的错误是因为您试图从一个不存在的
dojo
目录加载模块。Intern不会将其Dojo的内部副本公开为
Dojo
,除非使用。如果您正在测试的软件使用Dojo,则需要您自己的副本。如果您试图使用Intern的Dojo副本,您需要自己映射它或引用规范的模块ID(
Intern/node\u modules/Dojo
)。

得到了它,谢谢,不过在这种情况下,我认为使用Intern的Dojo版本很好,因为它使用的是node.js-这是有效的:
包:[{name:'app',location:'app},{name:'dojo',location:'node_modules/intern/node_modules/dojo'}]
Error: Failed to load module dojo/node from /var/www/tmp/intern-tutorial/dojo/node.js (parent: dojo/node!17!*)
at injectUrl (/var/www/tmp/intern-tutorial/node_modules/intern/node_modules/dojo/dojo.js:743:12)