如何要求使用Intern JS测试NodeJS的模块?

时间:2015-06-14 10:57:23

标签: javascript node.js unit-testing mocha intern

我收到错误Attempt to require unloaded module xxxxxx,其中包含以下intern.js测试(下面的myfile.js为require('xxxxxx')),用于测试NodeJS。

define(function(require) {
  var bdd = require('intern!bdd');
  var myfile = require('../myfile.js');
  bdd.describe('the thing being tested', function() {
    bdd.it('do the test', function() {
      ...

目录结构是

intern.js
myfile.js
test
|-- test.js

如何正确要求文件?关于如何使用BDD测试界面,没有示例。有一些例子可以使用How do I load the node.js http module from within an intern.js test?中的其他样式,但不使用BDD。

是否与我需要在intern.js文件中设置的属性有关?

2 个答案:

答案 0 :(得分:4)

require与任何Intern接口的工作方式相同。棘手的部分是AMD要求(你在上面的代码中使用的)与Node的要求不同(这是你需要用来加载Node模块的。)

如果myfiles.js是节点模块,则需要使用Dojo的node插件加载它,例如:

var myfile = require('intern/dojo/node!../myfile');

答案 1 :(得分:0)

第1步 在定义

中做
define([
   'intern!xyzModule',
   'intern/chai!abcModule',
],function(xyz,abc){

}

以上与

相同
var xyz = require(intern!xyzModule);
var abc = require(intern!abcModule);

但有些情况下无法使用require加载,因此最好使用上述方法,发生在我身上。