如何根据TestNG中数据提供者提供的数据的性质运行选择性测试用例

如何根据TestNG中数据提供者提供的数据的性质运行选择性测试用例,testng,Testng,假设我班上有10个测试用例,我有一个数据提供者。 根据注入测试用例的数据的性质,我想在总共10个测试中决定要运行的测试用例集,可能使用IMethodInterceptor 因此,我考虑将一些数据设置为testContext,我将在实现IMethodInterceptor的侦听器中使用这些数据来决定要运行的测试用例集 现在,我在这里面临的问题是,在哪里可以将所需的测试属性设置为testContext,以便在listener中读取它们 我不能使用BeforeTest,因为它只适用于第一个数据集。 而

假设我班上有10个测试用例,我有一个数据提供者。 根据注入测试用例的数据的性质,我想在总共10个测试中决定要运行的测试用例集,可能使用IMethodInterceptor

因此,我考虑将一些数据设置为testContext,我将在实现IMethodInterceptor的侦听器中使用这些数据来决定要运行的测试用例集

现在,我在这里面临的问题是,在哪里可以将所需的测试属性设置为testContext,以便在listener中读取它们


我不能使用BeforeTest,因为它只适用于第一个数据集。 而不是在类之前,因为它在侦听器之后执行


所以,简而言之,我如何使用IMethodInterceptor根据数据提供者提供的数据的性质运行选择性测试用例呢?

颠倒您的问题:我如何仅针对适合它的数据运行测试用例

为每个测试用例创建一个数据提供程序。然后,测试用例的数据提供程序只是测试数据主列表上的一个过滤器,只向测试用例提供感兴趣的测试数据值。

“我不能使用BeforeTest,因为它只适用于第一个数据集。”

您是否尝试使用“alwaysRun”参数

@BeforeTest( alwaysRun=true )

谢谢Bob,但是测试用例是依赖的,我想在我的拦截器中进行优先级排序,只要测试用例不依赖于彼此的数据,您就可以创建组,并使用TestNG标记来指示依赖关系。我的用例是依赖的,依赖关系是DynamicWaySRun=true没有帮助