[英]require.context not a function when trying to run Mocha tests
我正在嘗試使用Mocha.js
+ JSDOM
框架運行測試,但是我很難讓Mocha
啟動。 這是在使用Vue.js
庫測試React
應用程序的過程中。 我一直收到以下錯誤:
var req = require.context('./', false, /\.vue$/);
TypeError: require.context is not a function
有問題的代碼是:
let req = require.context('./', false, /\.vue$/);
components.forEach(function (component) {
try {
let filePath = './' + component + '.vue';
let injected = inject(req(filePath));
Vue.component(getComponentName(component), injected);
let appComponent = {
name: injected.name,
props: {
autocompletion: {
metadata: getComponentName('template'),
score: xTemplatesScore,
attributes: injected.props || []
}
}
};
appComponents.push(appComponent);
} catch (err) {
console.log(err);
console.error('Vue file was not found for component:' + component + '. Please rename your files accordingly ( component-name.vue )');
}
有沒有辦法繞過這個並實際上讓Mocha
啟動? 或者是否有require.context
的合適替代require.context
? 我試圖用簡單的字符串連接和一個vanilla require
來重做它,但這一直告訴我沒有找到任何Vue
模塊。
require.context
是require.context
的一種方法。 您的測試必須捆綁才能運行。
通常,您將為測試創建單獨的webpack配置文件。 然后,您將使用webpack創建一個測試包,然后在此包上運行Mocha。 或者,您可以在webpack測試配置文件中使用mocha-loader
,並讓測試作為捆綁過程的一部分運行。
有關測試的webpack文檔中可以找到更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.