package org.testng;

import java.util.Iterator;

This interface helps define an interceptor for data providers. Implementations of this TestNG listener can be wired in via the @Listeners annotation or via the listeners tag in the suite file or via a Service Provider Interface mechanism. The implementation would be able to alter the actual set of data using which a test method would be iterated upon.
/** * This interface helps define an interceptor for data providers. Implementations of this TestNG * listener can be wired in via the <code>@Listeners</code> annotation or via the * <code>listeners</code> tag in the suite file or via a Service Provider Interface mechanism. * * The implementation would be able to alter the actual set of data using which a test method would * be iterated upon. */
public interface IDataProviderInterceptor extends ITestNGListener {
Params:
  • original – - The original data set as produced by a particular data provider.
  • dataProviderMethod – - The IDataProviderMethod method object which represents the data provider that was invoked.
  • method – - The ITestNGMethod method object which represents the test method that will receive the parameters.
  • iTestContext – - The ITestContext object that represents the current test context.
Returns:- The altered data set that would be used by TestNG to run the test method.
/** * @param original - The original data set as produced by a particular data provider. * @param dataProviderMethod - The {@link IDataProviderMethod} method object which represents the * data provider that was invoked. * @param method - The {@link ITestNGMethod} method object which represents the test method that * will receive the parameters. * @param iTestContext - The {@link ITestContext} object that represents the current test * context. * @return - The altered data set that would be used by TestNG to run the test method. */
Iterator<Object[]> intercept( Iterator<Object[]> original, IDataProviderMethod dataProviderMethod, ITestNGMethod method, ITestContext iTestContext); }