1 package test.dataprovider; 2 3 import org.testng.Assert; 4 import org.testng.TestListenerAdapter; 5 import org.testng.TestNG; 6 import org.testng.annotations.Test; 7 8 import test.SimpleBaseTest; 9 10 public class FailingDataProviderTest extends SimpleBaseTest { shouldSkip(Class cls, String message, int expected)11 private void shouldSkip(Class cls, String message, int expected) { 12 TestNG testng = create(cls); 13 TestListenerAdapter tla = new TestListenerAdapter(); 14 testng.addListener(tla); 15 testng.run(); 16 Assert.assertEquals(tla.getSkippedTests().size(), expected, message); 17 } 18 19 @Test(description = "TESTNG-142: Exceptions in DataProvider are not reported as failed test") failingDataProvider()20 public void failingDataProvider() { 21 shouldSkip(FailingDataProvider.class, "Test method should be marked as skipped", 1); 22 } 23 24 @Test(description = "TESTNG-447: Abort when two data providers have the same name") duplicateDataProviders()25 public void duplicateDataProviders() { 26 shouldSkip(DuplicateDataProviderSampleTest.class, "", 1); 27 } 28 29 @Test failingDataProviderAndInvocationCount()30 public void failingDataProviderAndInvocationCount() throws Exception { 31 shouldSkip(DataProviderWithError.class, 32 "Test should be skipped even if invocation counter and success percentage set", 4); 33 } 34 } 35