gpt4 book ai didi

testng - 如何告诉 Gradle 使用我的 testng.xml 文件进行测试类和排序?

转载 作者:行者123 更新时间:2023-12-04 00:43:01 25 4
gpt4 key购买 nike

我试图让 Gradle 执行一些使用 testng.xml 文件定义的测试。我的 testng.xml 文件如下所示:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="mySuite" verbose="1">

<listeners>
<listener class-name="mypackage.MyListener" />
<listener class-name="mypackage.TestOrderer" />
</listeners>

<test name="Tests">
<classes>
<class name="mytestpackage.CrazyTest1"/>
<class name="mytestpackage.CrazyTest2"/>
<class name="mytestpackage.CrazyTest3"/>
</classes>
</test>
</suite>

那我为什么需要这个?我想确保我的测试以一种由类似于列出的注释定义的方式组织 here .正如您可能猜到的,TestOrderer 是一个 IMethodInterceptor。

这就是问题所在,Gradle 似乎正在接管我的 testng.xml 文件并抓取测试目录以找到它想要执行的测试。即使我禁用它,它也无法正确执行这些方法。这是我认为应该起作用的,但只是,没有。
test {
useTestNG()
options.suites("src/test/resources/crazyTestNG.xml")
# Adding
# scanForTestClasses = false
# causes zero tests to be executed, since the class names don't end in Test
}

看起来它应该是一个不费吹灰之力的...... fork TestNG 进程并让它运行,但我不知道如何告诉 Gradle 让开,只执行我的测试。

最佳答案

以下是配置要在 Gradle 任务中执行的测试套件 (xml) 的方法:

apply plugin: 'java'

repositories {
mavenCentral()
}
dependencies {
// add the dependencies as needed
testCompile group: 'org.testng', name: 'testng', version:'6.8.8'
testCompile fileTree('lib')
}
test {
useTestNG() {
// runlist to executed. path is relative to current folder
suites 'src/test/resources/runlist/my_test.xml'
}
}

关于testng - 如何告诉 Gradle 使用我的 testng.xml 文件进行测试类和排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4762945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com