ReferenceError: html2pdf не определен (JSPDF) - PullRequest
0 голосов
/ 25 мая 2019

Я получаю ошибку ниже, когда пишу модульный тест с мелкой визуализацией

ReferenceError: html2pdf не определен по адресу /PathToProject/node_modules/jspdf/dist/jspdf.min.js:202:16291

    When I comment out my unit test code whole jspdf code works fine.
    I am surprised why it is failing only when I execute unit test like below -

    import { expect } from "chai";
    import { shallow } from "enzyme";
    import "mocha";
    import * as React from "react";

    const jsdom = require("jsdom-global");
    jsdom();
    import App from "../src/app";

    describe("<App/>", () => {
      it("should do a shallow render of <Provider/>", () => {

        const elem = shallow(<App/>); //this line is creating issue
        expect(elem.find("Provider")).to.have.length(1);
      });
    });

Примечание. Перед выполнением модульного теста все работает отлично. Все функциональные возможности jspdf работают хорошо. но как только я выполняю модульный тест с мелкой записью, он выдает эту ошибку.

1 Ответ

1 голос
/ 13 июня 2019

В настоящее время в репо существует открытый вопрос https://github.com/MrRio/jsPDF/issues/2462. Обходной путь, упомянутый во втором ответе, возможно, стоит попробовать. Если нет, то эта проблема, по-видимому, появилась в версии 1.5.1, и единственный способ заставить jspdf хорошо играть с энзимом - вернуться к версии 1.4.1. На 1.4.1 я получаю другую ошибку * при запуске тестов, но это не приводит к сбою тестов.

* Ошибка Не реализовано: HTMLCanvasElement.prototype.getContext (без установки пакета canvas npm) - и это не решается установкой пакета canvas npm

...