Прежде чем узнать, что такое Soft Assert, сначала давайте посмотрим, что такое Assert, в чем недостаток Assert и почему мы переходим на Soft Assert.
Утверждения используются для выполнения проверок в тесте. сценариев.
Существует два типа Assert:
- Жесткое утверждение
- Мягкое утверждение
Когда утверждение терпит неудачу, тестовый сценарий прекращает выполнение, если не обрабатывается в какой-либо форме. . Мы называем общее утверждение как Hard Assert
Hard Assert – Hard Assert выдает AssertException.немедленно, когда оператор утверждения терпит неудачу, и набор тестов продолжается со следующего @Test
Недостаток Hard Assert: метод помечается как ошибочный, если условие утверждения не выполняется, а остальные операторы внутри метод будет прерван.
Чтобы решить эту проблему, нам нужно использовать Soft Assert. Давайте посмотрим, что такое Soft Assert.
Soft Assert – Soft Assert собирает ошибки во время @Test.. Мягкое утверждение не генерирует исключение, когда утверждение терпит неудачу, и переходит к следующему шагу после утверждения утверждения.
Если есть какое-либо исключение, и вы хотите его создать, вам нужно использовать assertAll() в качестве последнего оператора в @Test, и набор тестов снова переходит к следующему @Test как есть.
Нам нужно создать объект для использования Soft Assert, который не требуется в Hard Assert.
Посмотрите видео ниже, чтобы увидеть «Soft Assert в TestNG»
Наберитесь терпения . Видео загрузится через некоторое время.
Если вам понравилось это видео, подпишитесь на наш канал YouTube для получения дополнительных видеоуроков.
Давайте рассмотрим практический пример:
Здесь я использовал два метода. а именно softAssert() и hardAssert().
В методе softAssert() я использовал класс SoftAssert и намеренно передал значение false в методе assertTrue(), чтобы он не работал
В методе hardAssert() я просто использовал Assert и намеренно передал значение параметра false в метод assertTrue(), чтобы сделать его неработоспособнымJava
1234567891011121314151617181920212223 | пакет программного обеспечения TestingMaterial; импортировать org.testng.Assert; импортировать org.testng.annotations.Test; импортировать org.testng.asserts.SoftAssert; public class SoftAssertion { @Testpublic void softAssert(){SoftAssert softAssertion= new SoftAssert();System.out.println(“Метод softAssert был запущен”);softAssertion.assertTrue(false);System.out.println(“Метод softAssert был Выполнено”);}@Testpublic void hardAssert(){System.out.println(“Метод hardAssert был запущен”); Assert.assertTrue(false);System.out.println(“Метод hardAssert был выполнен”);}}< /table>
Выполните указанный выше скрипт и просмотрите вывод консоли. Вы могли увидеть только один сбой. Вывод в консоль:
Сценарий ниже аналогичен первому, но с добавлением метода assertAll() в конец первого метода (т. е. softAssert()). Примечание. Если если вы забудете вызвать assertAll() в конце теста, тест пройдёт, даже если какие-либо объекты утверждения генерируют исключения, как показано в приведенном выше примере. Так что не забудьте добавить assertAll()Java
|