1

如果我们有<include name="web" >and <include name="weekend" >,TestNG 会运行属于 web 或周末的所有方法。

是否可以更改此行为,以便 TestNG 运行属于 web周末的所有方法?有谁知道实现这一目标的方法?

4

2 回答 2

2

我找到了解决方案。

我使用 beanshell 在<method-selector>标签内编写条件脚本。

就像是:

 <method-selectors>
    <method-selector>
      <script language="beanshell"><![CDATA[
        (groups.containsKey(FIRST_GROUP) && groups.containsKey(SECOND_GROUP)) 
           ]]>
        </script>
     </method-selector>
    </method-selectors>
于 2010-04-13T16:31:18.090 回答
2

是的,BeanShell 是一种方法。

如果您需要更复杂的东西,您可以使用 IMethodInterceptor,它基本上可以让您在 TestNG 开始处理它们之前重新排序所有测试方法。

这是一个例子:

http://beust.com/weblog/2008/03/29/test-method-priorities-in-testng/

于 2010-04-13T21:26:35.930 回答