Тесты Mocha с транспиляцией, встречающей _class.default, не является конструктором в другом пакете node_module - PullRequest
0 голосов
/ 26 сентября 2018

Я сталкиваюсь с некоторыми проблемами при переносе моего кода ES6 для выполнения тестов mocha, и эта проблема указывает на конкретную библиотеку узлов, которую я использую для создания пользовательского интерфейса, например взаимодействия с чат-ботами

botui: Я понятия не имею, является ли это общей и воспроизводимой проблемой для других библиотек или это вообще проблема с библиотекой

тест Мокко

mocha test command babelrc

enter image description here
Папка test и код, выполняемый в одном test.js, который я написал, попытались импортировать один из моих собственных классов для запуска тестов сфункции в нем.

enter image description here enter image description here

Настройка очень проста и универсальна, так как я все еще пробую Мокко сосновные конфигурации и все.Кодовый фрагмент кода, который я пытаюсь протестировать, - это класс, который выглядит следующим образом: он правильно экспортирует класс

import BotUI from 'botui'
import Vue from 'vue'
import tippy from 'tippy.js'
class BotUiSingle {
    constructor() {
        this.botui = new BotUI('hello-world', {
            vue: Vue // or this
        }, function () {
            tippy('.click', { position: 'right', animation: 'fade', trigger: 'click' })
            tippy('.no-click')
            tippy('.tooltip-interactive', { position: 'right', animation: 'fade', trigger: 'click', interactive: 'true' })
            window.scrollTo(0, document.body.scrollHeight);
        });
    }
   
    addMessages(content) {
        $("#questionTextBox").prop('disabled', true);
        window.scrollTo(0, document.body.scrollHeight);
        return this.botui.message.bot({
            delay: 800,
            content: content
        })
    }
    addUserInput(content) {
        $("#questionTextBox").prop('disabled', true);
        window.scrollTo(0, document.body.scrollHeight);
        return this.botui.message.human({
            // delay: 800,
            content: content
        })
    }
    addActions(action) {
        $("#questionTextBox").prop('disabled', false);
        window.scrollTo(0, document.body.scrollHeight);
        return this.botui.action.button({
            delay: 400,
            action: action
        })
    }
    resetUI() {
        // this.botui.message.removeAll()
        this.botui.action.hide();
    }
}
const botuiTest = new BotUiSingle()
export default botuiTest
Проблема возникает, когда вызывается конструктор, который пытается запустить конструктор BotUi ( botui library )

new BotUI('hello-world', {
            vue: Vue // or this
        }, function () {
            tippy('.click', { position: 'right', animation: 'fade', trigger: 'click' })
            tippy('.no-click')
            tippy('.tooltip-interactive', { position: 'right', animation: 'fade', trigger: 'click', interactive: 'true' })
            window.scrollTo(0, document.body.scrollHeight);
        });
Это сообщение об ошибке enter image description here Я использую веб-пакет и подозреваю, что это связано с компонентом псевдонима vue, который требуется загрузить botui для того, чтобына работу, которая не подхватывается мокко.Мой webpack.config.js содержит
 resolve: {
    alias: {
        'vue': 'vue/dist/vue.min.js',
    }
},

Любая помощь приветствуется, пожалуйста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...