소프트 어설 션이 상위 클래스에서 테스트 케이스를 계속하지 못했습니다.
아래 테스트에서 두 번째 방법 AssertTesting.softassert()
은 실패한 소프트 어설 션으로 완료되지만 두 번째 방법 이후에는 실행이 중지됩니다. AssertTesting.softassert2()
부모 클래스에서 세 번째 메서드를 실행하고 싶습니다 . 다른 방법으로 소프트 어설 션을 사용할 수 있으므로 실행을 계속할 수 있습니다.
package Assertion;
import org.testng.annotations.Test;
public class AssertTestingAll
{
@Test
public void callallAssert()
{
AssertTesting.Hardassert();
AssertTesting.softassert();
AssertTesting.softassert2();
}
}
package Assertion;
import org.junit.Assert;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;
public class AssertTesting
{
static SoftAssert sa=new SoftAssert();
public static void Hardassert()
{
// Assert.fail("Assertion fail");
Assert.assertEquals("strings dont match:", "Test", "Test");
{
String [] name1= {"jeeva","balan","madhu"};
String [] name2= {"jeeva","balan","madhu"};
Assert.assertArrayEquals("name does not match", name1, name2);
}
Assert.assertFalse("numbers does not matches ", 2<2);
Assert.assertSame("jeeva", "jeeva");
}
public static void softassert()
{
sa.assertEquals("strings dont match:", "Test1", "Test");
{
String [] name1= {"jeeva","balan","madhu"};
String [] name2= {"jeeva","balan","madhu"};
Assert.assertArrayEquals("name does not match", name1, name2);
}
System.out.println("execution continued");
sa.assertFalse(2<2,"numbers does not matches ");
sa.assertSame("jeeva", "jeeva1");
sa.assertAll();
}
public static void softassert2()
{
sa.assertEquals("strings dont match:", "Test1", "Test");
{
String [] name1= {"jeeva","balan","madhu"};
String [] name2= {"jeeva","balan","madhu"};
Assert.assertArrayEquals("name does not match", name1, name2);
}
System.out.println("execution continued");
sa.assertFalse(2<2,"numbers does not matches ");
sa.assertSame("jeeva", "jeeva1");
sa.assertAll();
}
}
방법 SoftAssert
처럼 assertEquals
또는 assertFalse
조건이 좋은 여부이며, 그들이에 테스트 실패를 나타내는 예외가 발생하지 않는 경우에만 기록 TestNG
주자. 실제 검사 및 예외 발생은 assertAll
메서드 에서 발생합니다 .
이 오류가 발생하는 이유를 설명합니다. 예외를 발생시키는 softassert
메소드가 assertAll
실행되고 테스트는 해당 지점에서 실행을 중지합니다.
테스트를 계속하려면 SoftAssert
모든 테스트에 동일한 인스턴스 를 사용 assertAll
하고 전체 테스트가 끝날 때 실행 해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다