testng 无法从 ant 加载测试类 [英] testng fails to load test classes from ant
本文介绍了testng 无法从 ant 加载测试类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从 Ant 运行 TestNG 测试.阅读手册后,我想出了:
I'm trying to run TestNG tests from Ant. After reading the manual, I came up with:
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpath="../../lib/testng-6.8.1.jar"/>
<target name="testng" depends="compile-tests" description="Run testng test suite">
<fileset id="mixed.tests" dir="${bin.main}">
<include name="**/*Test.*"/>
</fileset>
<testng mode="mixed" classfilesetref="mixed.tests"
verbose="5"
failureProperty="tests.failed" outputdir="/tmp/report">
<classpath>
<fileset dir="../../lib" includes="*.jar"/>
<fileset dir="../../java/bin/" includes="**/*.class"/>
<fileset dir="/home/y/lib/jars" excludes="junit*jar,messagebus-disc-parent.jar" includes="**/*.jar" description="all jars installed by dependent pacakges" />
</classpath>
</testng>
当我运行它时失败:
[testng] 'org.testng.TestNG'
[testng] '@/tmp/testng8260935716887369607'
[testng]
[testng] The ' characters around the executable and arguments are
[testng] not part of the command.
[testng] Exception in thread "main" org.testng.TestNGException:
[testng] Cannot load class from file: /home/adamatan/SOME_PATH_THAT_EXISTS/functional/EnforceBasicFilteringTest.class
[testng] at org.testng.internal.ClassHelper.fileToClass(ClassHelper.java:600)
[testng] at org.testng.TestNG.configure(TestNG.java:1393)
[testng] at org.testng.TestNG.privateMain(TestNG.java:1354)
[testng] at org.testng.TestNG.main(TestNG.java:1333)
[testng] The tests failed.
我已经尝试过的:
文件和权限:
/home/adamatan/SOME_PATH_THAT_EXISTS/functional/EnforceBasicFilteringTest.class
:
- 出现在类路径打印输出中(它很长,所以我不放在这里).
- 由编译目标创建,因此非空,ant可以读取其内容.
ls -l
-ing 文件给-rw-r--r-- 1 adamatan users 4548 Nov 21 12:19
- Appears in the classpath printout (it's very long, so I don't put it here).
- Is created by the compile target, so it is non-empty, and ant can read its contents.
ls -l
-ing the file gives-rw-r--r-- 1 adamatan users 4548 Nov 21 12:19
尝试了 testng mode="testng"
和 testng mode="mixed"
.两者都以相同的错误失败.
Tried both testng mode="testng"
and testng mode="mixed"
. Both failed with the same error.
为什么testng无法读取刚刚创建的这个有效的类文件?
Why can't testng read this valid class file that was just created?
推荐答案
通过将测试本身所在的目录添加到类路径中(看起来它是 ${bin.main}
在你的情况下).
The same problem was solved for me by adding to the classpath the directory where tests themselves are located (looks like it's ${bin.main}
in your case).
这篇关于testng 无法从 ant 加载测试类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文