как использовать svg.js в тесте мокко? "Ошибка типа: SVG.Doc не является конструктором" - PullRequest
0 голосов
/ 31 марта 2019

машинопись мокко

Я не могу использовать svg.js в тесте мокко.

это команда, которую я использовал в проекте ts.Как я могу использовать svg.js в мокко?Просто посмотрите на следующий код, он показывает, что я не могу использовать svg.js в тестовых файлах mocha.Но я могу использовать svg.js в других файлах.Как импортировать модули из трех частей?

mocha --require ts-node/register -r jsdom-global/register -r svg.js src/Test/**/*.ts

import {expect} from "chai";
import * as SVG from "svg.js";
import {Line} from "../../Annotator/Entities/Line";
import {Word} from "../../Annotator/Entities/Word";

before(function () {
    this.jsdom = require('jsdom-global')();

})

after(function () {
    this.jsdom();
})


describe("Line", () => {
    it("append", () => {
        // const SVG = require('svg.js');
        var parent = document.createElement("div");
        parent.id = 'drawing';
        var drawing = document.getElementById('drawing');
        let svgDoc = SVG(drawing).size(100, 100);
        let word1 = new Word(svgDoc, 100, 100, 16, "1");
        let word2 = new Word(svgDoc, 105, 100, 16, "2");
        let word3 = new Word(svgDoc, 110, 100, 16, "3");
        let line = new Line(svgDoc, 0, 0, 16);
        line.append(word1).append(word2).append(word3);
        expect(word1.prevContent).equals(null);
        expect(word1.nextContent).equals(word2);
        expect(word2.prevContent).equals(word1);
        expect(word2.nextContent).equals(word3);
        expect(word3.prevContent).equals(word2);
        expect(word3.nextContent).equals(null);
    });
});
  Line
    1) append


  0 passing (29ms)
  1 failing

  1) Line
       append:
     TypeError: SVG is not a function
      at Context.<anonymous> (src/Test/UnitTest/Line.ts:23:22)

Как использовать svg.js в мокко?

...