Насмешка над браузером Файловый объект в машинописи / мокко с помощью jsdom - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь написать несколько тестов для загрузчика файлов и хочу создать объект File в узле / мокко, чтобы я мог выполнять свои тесты.

Я хочу убедиться, что объект File будет соответствовать тому, что дает мне браузер.

Я пытаюсь использовать jsdom в машинописи.

Вот мой тест

import * as assert from 'assert';
import { JSDOM } from 'jsdom';
import { TrackFile } from './file';

const dom = new JSDOM(`<!DOCTYPE html>
  <body>
    <input type="file">
  </body>`);
const { window } = dom;
const { File, FileList } = window;

describe('it should load a file', () => {
  const file = new File([''], 'test-file.gpx', { type: 'application/gpx' });
  const trackFile = new TrackFile(file);
  console.log(trackFile);
  assert(trackFile.filename === 'test-file.gpx');
  assert(trackFile.status === 'new');
});

Когда я запускаю этот тест, я получаю ошибку

 var file = new File([''], 'test-file.gpx', {
             ^

ReferenceError: File is not defined
...