1 package test.methodselectors; 2 3 import org.testng.Assert; 4 import org.testng.ITestResult; 5 import org.testng.TestListenerAdapter; 6 import org.testng.TestNG; 7 import org.testng.annotations.Test; 8 9 import java.util.List; 10 11 public class PriorityTest { 12 13 private void runTest(int priority, String[] passedTests) { 14 TestNG tng = new TestNG(); 15 tng.setVerbose(0); 16 tng.setTestClasses(new Class[] { PrioritySampleTest.class }); 17 tng.addMethodSelector("test.methodselectors.NoTestSelector", priority); 18 TestListenerAdapter tla = new TestListenerAdapter(); 19 tng.addListener(tla); 20 tng.run(); 21 22 List<ITestResult> passed = tla.getPassedTests(); 23 Assert.assertEquals(passedTests.length, passed.size()); 24 if (passedTests.length == 1) { 25 String passed0 = passed.get(0).getName(); 26 Assert.assertEquals(passed0, passedTests[0]); 27 } 28 if (passedTests.length == 2) { 29 String passed0 = passed.get(0).getName(); 30 String passed1 = passed.get(1).getName(); 31 Assert.assertTrue(passed0.equals(passedTests[0]) 32 || passed0.equals(passedTests[1])); 33 Assert.assertTrue(passed1.equals(passedTests[0]) 34 || passed1.equals(passedTests[1])); 35 36 } 37 } 38 39 // @Test 40 public void negativePriority() { 41 runTest(-5, new String[] {}); 42 } 43 44 @Test 45 public void lessThanTenPriority() { 46 runTest(5, new String[] { "alwaysRun" }); 47 } 48 49 // @Test 50 public void greaterThanTenPriority() { 51 runTest(15, new String[] { "alwaysRun", "neverRun" }); 52 } 53 54 55 } 56