@Override public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { if (!annotation.getEnabled()) { return; } Class<?> typedTestClass = testClass; if (testMethod != null) { ignoreTest(annotation, testMethod.getAnnotation(Ignore.class)); typedTestClass = testMethod.getDeclaringClass(); } if (typedTestClass != null) { ignoreTest(annotation, ReflectionHelper.findAnnotation(typedTestClass, Ignore.class)); Package testPackage = typedTestClass.getPackage(); if (testPackage != null) { ignoreTest(annotation, findAnnotation(testPackage)); } } }
@Override public void transform( ITestAnnotation annotation, Class testClass, Constructor tc, Method testMethod, Class<?> clazz) { if (!annotation.getEnabled()) { return; } Class<?> typedTestClass = testClass; if (testMethod != null) { ignoreTest(annotation, testMethod.getAnnotation(Ignore.class)); typedTestClass = testMethod.getDeclaringClass(); } ignoreTestAtClass(typedTestClass, annotation); ignoreTestAtClass(clazz, annotation); }
@Test(groups="current") public void verifyTestEnabledInheritance() throws SecurityException, NoSuchMethodException { String[] methods = new String[]{"enabled1", "enabled2"}; Boolean[] expected = new Boolean[] {false, true}; for (int i = 0; i < methods.length; i++) { Method method = MTest3.class.getMethod(methods[i]); ITestAnnotation test1 = m_finder.findAnnotation(method, ITestAnnotation.class); Assert.assertEquals(test1.getEnabled(), expected[i].booleanValue()); } }
public void verifyTestMethodLevel() throws SecurityException, NoSuchMethodException { // // Tests on MTest1SampleTest // Method method = MTest1.class.getMethod("f"); ITestAnnotation test1 = m_finder.findAnnotation(method, ITestAnnotation.class); Assert.assertTrue(test1.getEnabled()); Assert.assertEqualsNoOrder(test1.getGroups(), new String[] { "group1", "group3", "group4", "group2" }); Assert.assertTrue(test1.getAlwaysRun()); Assert.assertEqualsNoOrder(test1.getDependsOnGroups(), new String[] { "dg1", "dg2", "dg3", "dg4" }); Assert.assertEqualsNoOrder(test1.getDependsOnMethods(), new String[] { "dm1", "dm2", "dm3", "dm4" }); Assert.assertEquals(test1.getTimeOut(), 142); Assert.assertEquals(test1.getInvocationCount(), 143); Assert.assertEquals(test1.getSuccessPercentage(), 61); Assert.assertEquals(test1.getDataProvider(), "dp2"); Assert.assertEquals(test1.getDescription(), "Method description"); Class[] exceptions = test1.getExpectedExceptions(); Assert.assertEquals(exceptions.length, 1); Assert.assertEquals(exceptions[0], NullPointerException.class); }
public void verifyTestClassLevel() { // // Tests on MTest1SampleTest // ITestAnnotation test1 = m_finder.findAnnotation(MTest1.class, ITestAnnotation.class); Assert.assertTrue(test1.getEnabled()); Assert.assertEquals(test1.getGroups(), new String[] { "group1", "group2" }); Assert.assertTrue(test1.getAlwaysRun()); Assert.assertEqualsNoOrder(test1.getDependsOnGroups(), new String[] { "dg1", "dg2" }, "depends on groups"); Assert.assertEqualsNoOrder( test1.getDependsOnMethods(), new String[] { "dm1", "dm2" }); Assert.assertEquals(test1.getTimeOut(), 42); Assert.assertEquals(test1.getInvocationCount(), 43); Assert.assertEquals(test1.getSuccessPercentage(), 44); Assert.assertEquals(test1.getThreadPoolSize(), 3); Assert.assertEquals(test1.getDataProvider(), "dp"); Assert.assertEquals(test1.getDescription(), "Class level description"); // // Tests on MTest1SampleTest (test defaults) // ITestAnnotation test2 = m_finder.findAnnotation(MTest2.class, ITestAnnotation.class); // test default for enabled Assert.assertTrue(test2.getEnabled()); Assert.assertFalse(test2.getAlwaysRun()); Assert.assertEquals(test2.getTimeOut(), 0); Assert.assertEquals(test2.getInvocationCount(), 1); Assert.assertEquals(test2.getSuccessPercentage(), 100); Assert.assertEquals(test2.getDataProvider(), ""); }
setAlwaysRun(testAnnotation.getAlwaysRun()); setDescription(findDescription(testAnnotation, xmlTest)); setEnabled(testAnnotation.getEnabled()); setRetryAnalyzer(testAnnotation.getRetryAnalyzer()); setSkipFailedInvocations(testAnnotation.skipFailedInvocations());
setAlwaysRun(testAnnotation.getAlwaysRun()); setDescription(findDescription(testAnnotation, xmlTest)); setEnabled(testAnnotation.getEnabled()); setRetryAnalyzer(cloneInstance(testAnnotation.getRetryAnalyzer())); setRetryAnalyzerClass(testAnnotation.getRetryAnalyzerClass());
@SuppressWarnings("rawtypes") @Override public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) { String methodName = testMethod.getName(); if (transforms.containsKey(methodName)) { annotation.setEnabled(transforms.get(methodName)); String[] dependencies = annotation.getDependsOnMethods(); for (String dep : dependencies) { transforms.put(dep, true); } } else { // If it is not in the transforms map and defEnabled is true, // do what its annotation says annotation.setEnabled(annotation.getEnabled() && defEnabled); } } }