2

我有一个现有的 TestNG 测试用例。我想通过在多个线程中并行运行测试用例来进行压力测试。一种方法是将@Test注释更改为

@Test(invocationCount = 100, threadPoolSize=10)

但我不想编辑原件(我想把它留作功能测试)。我更愿意在我的 XML 测试套件定义中设置调用计数。

作为一种解决方法,我创建了一个具有高调用计数的新测试,并在该测试中调用旧测试。这个解决方案有效,但感觉就像一个黑客。

4

3 回答 3

3

您可以@Test在运行时使用IAnnotationTransformer修改注释。

于 2012-05-16T19:22:22.653 回答
0

作为一种解决方法,我创建了一个具有高调用计数的新测试,并在该测试中调用旧测试。这个解决方案有效,但感觉就像一个黑客。

这不是一个理想的解决方案,但它有效。

于 2012-05-22T20:10:50.137 回答
0

您可以使用 beanshell 脚本在 XML 文件中设置 invocationCount,如下所示:

<test name="TestName" >
    <method-selectors>
            <method-selector>
                <script language="beanshell">
                <![CDATA[
                testngMethod.setInvocationCount(2);
                return true;
                ]]>
                </script>
            </method-selector>
    </method-selectors>
        <classes>
            <class name="testNG.test" />
        </classes>
</test>

相应地更改计数,上面的 xml 配置将执行两次测试用例。

于 2017-09-18T14:26:06.400 回答