| package test.dataprovider; |
| |
| import org.testng.Assert; |
| import org.testng.TestNG; |
| import org.testng.annotations.BeforeMethod; |
| import org.testng.annotations.Test; |
| |
| import test.BaseTest; |
| |
| public class FailedDataProviderTest extends BaseTest { |
| static int m_total = 0; |
| |
| @BeforeMethod |
| public void init() { |
| m_total = 0; |
| } |
| |
| /** |
| * Make sure that if a test method fails in the middle of a data provider, the rest |
| * of the data set is still run. |
| */ |
| @Test |
| public void allMethodsShouldBeInvoked() { |
| TestNG tng = new TestNG(); |
| tng.setTestClasses(new Class[] { FailedDataProviderSample.class }); |
| tng.setVerbose(0); |
| tng.run(); |
| |
| Assert.assertEquals(m_total, 6); |
| } |
| |
| @Test |
| public void failedDataProviderShouldCauseSkip() { |
| addClass("test.dataprovider.DependentSampleTest"); |
| |
| run(); |
| String[] passed = { |
| "method1" |
| }; |
| String[] failed = { |
| "method1" |
| }; |
| String[] skipped = { |
| "method2" |
| }; |
| verifyTests("Failed", failed, getFailedTests()); |
| verifyTests("Passed", passed, getPassedTests()); |
| verifyTests("Skipped", skipped, getSkippedTests()); |
| } |
| } |
| |