package test.hook; import org.testng.*; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import javax.inject.Named; import java.lang.annotation.Annotation; import java.lang.reflect.Method; public class HookSuccess862Test implements IHookable { @Override public void run(IHookCallBack callBack, ITestResult testResult) { Method method = testResult.getMethod().getConstructorOrMethod().getMethod(); for (int i = 0; i < callBack.getParameters().length; i++) { Annotation[] annotations = method.getParameterAnnotations()[i]; for (Annotation annotation : annotations) { if (annotation instanceof Named) { Named named = (Named) annotation; callBack.getParameters()[0] = callBack.getParameters()[0] + named.value(); } } } callBack.runTestMethod(testResult); } @DataProvider public Object[][] dp() { return new Object[][]{ new Object[]{"foo", "test"} }; } @Test(dataProvider = "dp") public void verify(@Named("bar") String bar, String test) { Assert.assertEquals(bar, "foobar"); Assert.assertEquals(test, "test"); } }