0
我在瀏覽器中使用qUnit來測試我的寵物項目。該模塊我的單元測試可以看起來像:如何在單元測試時模擬特定的RequireJs依賴關係
// Filename: views/base.js
define(['../manager'], function(Manager){
return Backbone.View.extend({
//...
});
我想模擬出依賴"../manager"
(manager.js) 我嘗試使用testr.js和Squire.js這兩個建議修改到配置爲路徑的路徑。
實施例:
testr.config({
root: '../',
baseUrl: 'src',
stubUrl: 'tests/mocks',
ignore: ['jquery', 'underscore', 'backbone'],
whitelist: ['tests/unit']
});
我看到後運行此代碼是我測試(base.js)的模塊也嘲笑出以及單元測試模塊,因爲它們被包括作爲依賴關係的問題在單元測試亞軍:
define([
'tests/unit/test-unit',
'tests/unit/views/base-view-unit',
], function(Test, BaseViewTest){
// ...
});
控制檯輸出:
http://localhost:63342/project/tests/mocks/js/views/base.stub.js 404 (Not Found)
http://localhost:63342/project/tests/mocks/tests/unit/views/base-view-unit.stub.js 404 (Not Found)
我可以添加這兩個文件到白名單,但這不會解決我的問題。
我想我的問題是:如何模擬我正在測試的文件的代碼,但不包括文件本身,當它被包含到單元測試運行器中時?