Home | History | Annotate | Download | only in test
      1 package test;
      2 
      3 import org.testng.annotations.Test;
      4 
      5 /**
      6  * This class tests invocationCount and successPercentage
      7  *
      8  * @author cbeust
      9  */
     10 public class InvocationAndSuccessPercentageTest extends BaseTest {
     11 
     12    @Test
     13     public void invocationCount() {
     14       addClass("test.sample.InvocationCountTest");
     15       addIncludedGroup("invocationOnly");
     16       run();
     17       String[] passed = {
     18           "tenTimesShouldSucceed",
     19       };
     20       String[] failed = {
     21       };
     22       verifyResults(getPassedTests(), 10, "passed tests");
     23 //      Map passedTests = getPassedTests();
     24 //      Set keys = passedTests.keySet();
     25 //      Object firstKey = keys.iterator().next();
     26 //      ITestResult passedResult = (ITestResult) passedTests.get(firstKey);
     27 //      int n = passedResult.getPassedMethods().size();
     28 //      assert n == 10 :
     29 //        "Expected 10 tests to have passed, but only found " + n;
     30       verifyTests("Passed", passed, getPassedTests());
     31       verifyTests("Failed", failed, getFailedTests());
     32     }
     33 
     34    /**
     35     * Result expected:
     36     * 8 passed
     37     * 2 failed but within success percentage
     38     */
     39    @Test
     40    public void successPercentageThatSucceeds() {
     41      addClass("test.sample.InvocationCountTest");
     42      addIncludedGroup("successPercentageThatSucceedsOnly");
     43      run();
     44      String[] passed = {
     45          "successPercentageShouldSucceed",
     46      };
     47      String[] failed = {
     48      };
     49      String[] failedButWithinSuccessPercentage = {
     50          "successPercentageShouldSucceed",
     51      };
     52      verifyTests("FailedButWithinSuccessPercentage",
     53          failedButWithinSuccessPercentage, getFailedButWithinSuccessPercentageTests());
     54      verifyTests("Passed", passed, getPassedTests());
     55      verifyTests("Failed", failed, getFailedTests());
     56 
     57      // Should have 8 passed, 2 failed but within success percentage
     58      verifyResults(getPassedTests(), 8, "passed tests");
     59      verifyResults(
     60        getFailedButWithinSuccessPercentageTests(), 2,
     61        "failed_but_within_success_percentage_tests");
     62    }
     63 
     64    /**
     65     * Result expected:
     66     * 8 passed
     67     * 1 failed but within success percentage
     68     * 1 failed
     69     */
     70    @Test
     71    public void successPercentageThatFails() {
     72      addClass(test.sample.InvocationCountTest.class);
     73      addIncludedGroup("successPercentageThatFailsOnly");
     74      run();
     75      String[] passed = {
     76          "successPercentageShouldFail",
     77      };
     78      String[] failed = {
     79          "successPercentageShouldFail",
     80      };
     81      String[] failedButWithinSuccessPercentage = {
     82          "successPercentageShouldFail",
     83      };
     84      verifyTests("FailedButWithinSuccessPercentage",
     85          failedButWithinSuccessPercentage, getFailedButWithinSuccessPercentageTests());
     86      verifyTests("Passed", passed, getPassedTests());
     87      verifyTests("Failed", failed, getFailedTests());
     88 
     89      // Should have 8 passed, 2 failed but within success percentage
     90      verifyResults(getPassedTests(), 8, "passed tests");
     91      verifyResults(getFailedTests(), 1, "failed tests");
     92      verifyResults(
     93        getFailedButWithinSuccessPercentageTests(), 1,
     94        "failed_but_within_success_percentage_tests");
     95    }
     96 
     97    public static void ppp(String s) {
     98     System.out.println("[Invocation] " + s);
     99   }
    100 
    101 }
    102