Протестируйте DOMParser с помощью Jest - PullRequest
0 голосов
/ 09 октября 2018

У меня есть метод, который использует DOMParser для анализа XML, например:

this.parseXmlString = function(xmlDocStr) {
    var xmlDoc;
    var parser= new window.DOMParser();

    xmlDoc = parser.parseFromString( xmlDocStr, "text/xml" );
    // here I do some stuff with xmlDoc

    return xmlDoc;
};

Проблема заключается в следующем: когда я пытаюсь выполнить модульный тест с помощью Jest для этой функции, window.DOMParser не определено.Тест так же прост, как:

expect(x2js.parseXmlString(xmlDocStr)).toMatchObject(expectedObject);

Можно ли использовать DOMParser из модульного теста Jest?

1 Ответ

0 голосов
/ 19 декабря 2018

Вам не нужно window ссылку.Просто используйте new DOMParser()....Убедитесь, что у вас "testEnvironment": "jsdom" в вашей конфигурации Jest (хотя это должно быть по умолчанию ).

Я создал пример здесь.https://repl.it/@ChrisPaton/FlusteredNearDecimal

Скорее всего, вам также понадобится последняя версия Jest, поскольку jsdom only добавлена ​​поддержка для DOMParser и XMLSerializer в конце октября.

Обновление

JSDom не поддерживается выше v11 Jest.Вам нужно будет настроить пользовательскую среду для этого.Вот ссылка на их документацию , а здесь - ссылка на пользовательскую среду jsdom , которая проста в использовании.Надеюсь, это поможет.

...