Как загрузить тестовые ресурсы - PullRequest
0 голосов
/ 29 апреля 2020

Я тестирую Angular 9. Я прочитал всю документацию и создал простой веб-сайт, который должен анализировать текстовый файл, который пользователь может перетаскивать. У меня есть служба для синтаксического анализа, и сейчас я пытаюсь создать тест. Я пришел из Java, и обычно я добавляю некоторый ресурс / файл теста, чтобы охватить все граничные случаи, и пишу модульные тесты, которые загружают и анализируют ресурсы этих тестов. Я пытался прочитать эти файлы с помощью модуля fs Node, но когда я запускаю ng test, я получаю Модуль не найден: Ошибка: невозможно разрешить 'fs' .

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

1 Ответ

1 голос
/ 29 апреля 2020

просто создайте файл .ts в своем проекте и добавьте в него содержимое, как показано ниже:

data.ts

export const TestData = {
// you can add your data here
}

и импортируйте data.ts файл в вашем .spe c .ts файле, как показано ниже

import {TestData} from './data.ts';

Теперь вы можете использовать TestData в качестве переменной и отправить ее в любой сервис

Вы можете сохранить строковые данные в файле .ts и использовать следующую функцию для преобразования строки в двоичный файл.

readBinaryFile(base64: string, type: string, name: string) {
    const data = atob(base64);
    const array = new Uint8Array(data.length);
    for (let i = 0; i < data.length; i++) {
        array[i] = data.charCodeAt(i);
    }
    const file = new File([array], name, { type });
    return file;
}
...