2013-05-01 74 views

回答

7

實習生使用Dojo Toolkit的AMD加載器。要嘲笑依賴關係,您應該只能使用標準的AMD map功能。在您的實習配置文件中,這樣的事情應該做你需要的東西:

define({ 
    …, 
    loader: { 
    map: { 
     myPackage: { 
     'myPackage/foo': 'myPackage/mocks/foo', 
     'herp': 'myPackage/mocks/herp', 
     'derp': 'myPackage/mocks/derp' 
     } 
    } 
    } 
}); 

map更多信息,請參閱https://github.com/amdjs/amdjs-api/wiki/Common-Config#map-

+0

那麼我會如何模擬每個測試呢?我不熟悉Dojos AMD實現,那麼是否有可能爲每個測試創建一個自己的上下文,就像我在我的問題中提到的那樣,在SO中描述過? – 2013-05-01 20:01:39

+0

目前,Dojo加載器並不支持RequireJS在創建具有獨立配置的'require'方面所做的完全相同的事情。這是我希望添加的一個功能,以更好地支持此用例。您可以通過將'undef'功能與'map'結合來做類似的事情,但它不夠優雅,所以我不建議直接做。在此期間,您應該能夠用'require.js'(在'client.html','client.js'和'runner.js'中)替換加載'dojo/dojo.js',並且所有東西都應該靜止工作。請輸入功能請求。 – 2013-05-01 20:56:16

+1

Intern 1.5將包含一個'require.undef' API,因此如果您需要修改配置以模擬測試的AMD依賴項,您可以從緩存中移除模塊。 – 2014-02-25 16:15:38

2

不知道這是否會有所幫助。我創建了一個模塊,用於使用Dojo加載器嘲笑模塊依賴關係:https://github.com/stdavis/StubModule

適用於我的需求。我沒有看到任何理由爲什麼它不會在實習生工作,但還沒有嘗試過。

相關問題