2015-06-14 114 views
3

我收到錯誤Attempt to require unloaded module xxxxxx以下intern.js測試(myfile.js以下是require('xxxxxx'))用於測試NodeJS。如何要求使用Intern JS測試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文件中設置的屬性有什麼關係?

+0

可能重複[如何從intern.js測試中加載node.js http模塊?](http://stackoverflow.com/questions/26266469/how-do-i-load-the-node -js-HTTP-模塊從 - 內-AN-實習生-JS檢驗) –

回答

4

require與任何Intern接口的作用相同。棘手的部分是,AMD要求(你在上面的代碼中使用的)不同於Node的要求(這是你需要用來加載Node模塊的東西)。

如果myfiles.js是一個節點模塊中,你需要使用Dojo的node插件加載它,如:

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

步驟1 做它在定義

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

} 

以上是等於

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

但有些情況下它可以不加載使用require,所以最好使用上面的方法,發生在我身上。