用浅浅的渲染编写单元测试时,我遇到错误了
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功能都可以正常工作。但是一旦我通过浅写执行单元测试,就会抛出此错误。
答案 0 :(得分:1)
回购https://github.com/MrRio/jsPDF/issues/2462中当前存在一个未解决的问题。第二个答复中提到的解决方法可能值得一试。 如果不是,这个问题似乎是在v1.5.1中引入的,而我发现让jspdf与酶完美结合的唯一方法是回到v1.4.1。在1.4.1上,运行测试时出现了一个不同的错误*,但这并不会导致测试失败。
*错误未实现:HTMLCanvasElement.prototype.getContext(未安装canvas npm软件包)-无法通过安装canvas npm软件包解决