0
我是實習生新手,想弄清楚如何爲我們的項目配置它。我們的文件層次結構與intern-tutorial中的示例或github上的intern實例不完全相同。我想我已經正確指定了封裝位置,因爲它不會抱怨找不到測試模塊。它甚至似乎運行我已設置的測試,但它然後嘗試運行我的包模塊中定義的其他模塊的測試目標。它首先嚐試加載.../dojo/_base/declare.js。所以我試圖指定excludeInstrumentation屬性值。實習生excludeInstrumentation正則表達式無法排除模塊
我指定它爲:
excludeInstrumentation: /^(?:dojo|dijit|dgrid|tests)\//
但並不排除它。我的目標模塊有這個的定義:
define([
'dojo/_base/declare',
'dojo/_base/lang',
'dojo/dom-construct',
'dojo/on',
'dojo/query',
...
'dijit/layout/BorderContainer',
'dijit/layout/ContentPane',
'dijit/form/TextBox',
...
'dgrid/OnDemandGrid',
'dgrid/Keyboard',
...
但我得到的錯誤:
node node_modules/intern/client.js config=tests/intern
Defaulting to "console" reporter
Error: Failed to load module dojo/_base/declare from
/home/bholm/Projects/src/sandbox/dojo/_base/declare.js
(parent: ev/grids/FilterGrid)
at /home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:742:12
at fs.js:207:20
at Object.oncomplete (fs.js:107:15)
我要指出的是,道場,dijit的和dgrid包實際上位於: /家庭/ bholm/Projects/src/sandbox/libs/dojo/...(注意路徑中添加了libs)。
我忘了補充我的裝載機屬性在配置文件中intern.js:
loader: {
//baseUrl: '..',
packages: [
{ name: 'intern', location: 'node_modules/intern' },
{ name: 'ev', location: 'web/libs/ev' }
]
},
爲什麼正則表達式是不排除任何想法?
要添加到@ csnover的答案,由Intern使用的加載器拋出錯誤,因爲它找不到'dojo'包。此錯誤不是由於測試正在模塊依賴性上運行的事實。 – bitpshr
謝謝!我添加了包(dojo,dijit,dgrid等),現在我得到一個新的錯誤: 'node node_modules/intern/client.js config = tests/intern 默認爲「console」記者 ReferenceError:document未定義爲 位於/home/bholm/Projects/src/sandbox/web/libs/dojo/selector/_loader.js:5:15 位於execModule(/ home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:512:54) at /home/bholm/Projects/src/sandbox/node_modules/intern/node_modules/dojo/dojo.js:579:7 ...' 什麼「文件「它是指? – teaman
在檢查該文件時,文檔顯示爲全局DOM文檔。爲什麼不能定義?這個配置中缺少一些東西。 – teaman