Ошибка запуска теста снимка для canvas.js в vue - PullRequest
0 голосов
/ 02 января 2019

Вот простой снимок кода для моего холста, который выдает ошибку

import { shallow } from "@vue/test-utils";
import ImageUpload from "packs/canvas/image_upload";
import { createRenderer } from "vue-server-renderer";

describe("Create Experience", () => {
    it("success matches snapshot", () => {
        const renderer = createRenderer();
        const wrapper = shallow(ImageUpload);
      }
      renderer.renderToString(wrapper.vm, (err, str) => {
        if (err) throw new Error(err);
        expect(str ).toMatchSnapshot();
      });
  });
  });

Ошибка получена ошибка снимка

Я также пытался использовать JSDOM, и он тоже не работает

Я также пытался использовать JSDOM, и это тоже не работает

import { shallow } from "@vue/test-utils";
import ImageUpload from "packs/canvas/image_upload";
import jsdom from 'jsdom';
import { createRenderer } from "vue-server-renderer";
beforeEach(() => {
    const createElement = document.createElement.bind(document);
    document.createElement = (tagName) => {
        if (tagName === 'canvas') {
            return {
                getContext: () => ({}),
                measureText: () => ({}),
                setAttribute: () => ({}),
            };
        }
        createElement.appendChild(document.getElementById("container"))
        return createElement(tagName);
    };
});
describe("Create Experience", () => {
    it("success matches snapshot", () => {
        const renderer = createRenderer();
        const wrapper = shallow(ImageUpload);
        const { createCanvas } = require('canvas')
      renderer.renderToString(wrapper.vm, (err, str) => {
        if (err) throw new Error(err);
          const dom = new jsdom.JSDOM(str);
        expect(dom).toMatchSnapshot();
      });
  });
  });

Ошибка: Ошибка при использовании JSDOM

...