簡體   English   中英

在嘗試運行Mocha測試時,require.context不是函數

[英]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.contextrequire.context的一種方法。 您的測試必須捆綁才能運行。

通常,您將為測試創建單獨的webpack配置文件。 然后,您將使用webpack創建一個測試包,然后在此包上運行Mocha。 或者,您可以在webpack測試配置文件中使用mocha-loader ,並讓測試作為捆綁過程的一部分運行。

有關測試webpack文檔中可以找到更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM