2015-09-08 2 views
3

Я работаю с системой, которая имеет несколько внешних системных зависимостей. Эти внешние системы подключаются только к определенным средам SDLC (локальные, dev, qa и prod). Из-за этих ограничений я поместил проверки среды на своих некоторых моих тестах транспортира, чтобы определить, в какой среде они находятся перед выполнением.Можно ли заставить Транспортер пройти или пропустить тест с сообщением на консоль?

Например:

«Test А» запустить, но это зависит от взаимодействия с «внешней системой 1», которая разрешена только для окружающей среды, QA. Поэтому, если «Тест A» запускается в Local, Dev или Prod, тогда тест завершится с сообщением на консоль с помощью fail().

Мой вопрос ... Есть ли способ, чтобы заставить тест Pass или быть Пропущенные с сообщением подобным использованием неудачно()? Я пытаюсь разграничить между тестами, фактически проходящими или неспособными вызвать функциональность, и если тест был просто пропущен из-за зависимостей среды в моих отчетах.

Я знаю, что вы можете технически «пропустить» испытания, когда ваше использование «fdescribe» или «вписаться» и консоль напечатает что-то похожее на ниже

Executed 1 of 25 specs (1 FAILED) (24 SKIPPED) in 18 secs. 

Как я могу ссылаться, что пропуск возможности из с мои тесты?

+0

Вы можете добавить, если заявление в тесте, где вы будете проверять окружающую среду. Если нет ожиданий, Жасмин считает тест пройденным. Вы также можете написать что-то на консоль, используя console.log(). –

ответ

7

Жасмин публикует глобальную функцию pending(message), которая работает примерно так же, как fail(message). Вы должны назвать его внутри спецификации, чтобы пометить его как в ожидании (пропустить его):

it('should be skipped', function() { 
    pending('Force skip'); 
    expect(true).toBe(true); 
}); 

See a working sample

Here раздел в Jasmine документы о нем.

+0

Спасибо, Майкл. Я сделаю это. –

+3

Это похоже на трюк для меня. Хотя Protractor в настоящее время интерпретирует тесты, отмеченные как «ожидающие», так как они не соответствуют приведенному ниже ответу в консоли. Сообщение: Не удалось: => Отметить В ожидании Об этой проблеме сообщалось [здесь] (https://github.com/angular/protractor/issues/2454). В настоящее время он открыт и не назначен. Я уверен, что я получу желаемые результаты отчетности, как только эта ошибка будет решена в Protractor. –

6

Добавить x перед тем it{}

describe("", function() { 
}); 

it('Would perform this test', function() { 
}); 

xit('would skip this test', function() { 
}); 
+0

'xit' не проходит тест. –

+0

Да, но он пропускает тест –