Отменить все испытания транспортира при соблюдении условия - PullRequest
1 голос
/ 26 марта 2019

У меня есть базовое приложение Angular 6 с настройкой тестов e2e по умолчанию.

Мы выполняем операции CRUD с тестовой базой данных (бэкэнд с тестовой средой должен быть запущен до запуска тестов e2e).

Идея состоит в том, чтобы запросить конкретную конечную точку, которая возвращает true, если запущена тестовая среда. (серверная часть на экспресс-сервере)

В самой первой спецификации я могу сделать этот запрос, но бросить новый Error () не останавливает тесты.

Я обнаружил несколько пакетов npm, заставляющих тесты завершаться при первом сбое (кит сбой жасмина и быстрый сбой жасмин), но я не хочу, чтобы мои тесты останавливались ни на каком другом исключении, кроме неправильной среды.

Я пытался сделать этот тест в protractor.conf.js в методе onPrepare (). Я могу добавить туда новую Error (), но не могу сделать http-запрос (даже базовый XmlHTTPRequest не определен)

Каковы мои решения, позволяющие убедиться, что тесты выполняются только тогда, когда работает правильная среда?

Ответы [ 2 ]

1 голос
/ 23 апреля 2019

process.exit() представляется достаточно хорошим решением для вашего случая использования.

0 голосов
/ 26 марта 2019

Вы можете использовать функцию jasmine done для вашего случая.

 it('should do something', (done) => {
        try {
            // doing something and an error happend
            throw Error('failure');
        } catch (error) {
            done.fail(error);
        }
    });

Тест не пройден и будет помечен как неудачный и прервет дальнейшее тестирование в текущем наборе «описать»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...