Home | History | Annotate | Download | only in dataprovider
      1 package test.dataprovider;
      2 
      3 import org.testng.Assert;
      4 import org.testng.TestNG;
      5 import org.testng.annotations.BeforeMethod;
      6 import org.testng.annotations.Test;
      7 
      8 import test.BaseTest;
      9 
     10 public class FailedDataProviderTest extends BaseTest {
     11   static int m_total = 0;
     12 
     13   @BeforeMethod
     14   public void init() {
     15     m_total = 0;
     16   }
     17 
     18   /**
     19    * Make sure that if a test method fails in the middle of a data provider, the rest
     20    * of the data set is still run.
     21    */
     22   @Test
     23   public void allMethodsShouldBeInvoked() {
     24     TestNG tng = new TestNG();
     25     tng.setTestClasses(new Class[] { FailedDataProviderSample.class });
     26     tng.setVerbose(0);
     27     tng.run();
     28 
     29     Assert.assertEquals(m_total, 6);
     30   }
     31 
     32   @Test
     33   public void failedDataProviderShouldCauseSkip() {
     34     addClass("test.dataprovider.DependentSampleTest");
     35 
     36     run();
     37     String[] passed = {
     38       "method1"
     39     };
     40     String[] failed = {
     41       "method1"
     42     };
     43     String[] skipped = {
     44       "method2"
     45     };
     46     verifyTests("Failed", failed, getFailedTests());
     47     verifyTests("Passed", passed, getPassedTests());
     48     verifyTests("Skipped", skipped, getSkippedTests());
     49   }
     50 }
     51 
     52