Как мне запустить Jasmine в режиме браузера, если мои тесты написаны на Typescript? - PullRequest
0 голосов
/ 21 марта 2020

Я использую Jasmine для модульного тестирования некоторого устаревшего кода, который будет работать в браузере. Вот как я выполняю свои тесты: ts-node node_modules/jasmine/bin/jasmine

Поскольку это устаревший код, он использует глобальные переменные (ie: window). Как мне выполнить Jasmine и сказать ему, что он должен предполагать, что код находится в режиме браузера, а не в режиме узла. То есть, признать window глобальной переменной, а global - нет?

1 Ответ

0 голосов
/ 21 марта 2020

Если жасмин является жестким требованием, вы можете использовать jsdom to mimi c среду браузера в узле.

const jsdom = require("jsdom");
const { JSDOM } = jsdom;
global.window = (new JSDOM()).window; // this will put window object on the node's global object.

Если это не сложное требование, рассмотрите возможность использования jest , который имеет всю встроенную установку JSDOM.

...