我从远程服务器运行测试时遇到问题。从nexus下载jar,并运行测试ng套件文件:
java -jar tests.jar suite.xml
问题:我无法像这样运行test.jar。
结构:
项目A: 项目与所有测试方法。这是外部项目,我无法改变。我只能将此项目包含在我的依赖项中(从本地nexus下载)。
项目B: 使用项目A 中的类和方法进行测试的项目。我的依赖项:
dependencies {
compile 'org.testng:testng:6.11'
compile 'net.qa:tools:1.0' // Project A
}
当我在想法测试中工作正常时,我需要从CLI执行它们。
创建jar,可以在任何地方运行,它将具有我创建任务所需的所有依赖项:
jar {
manifest {
attributes "Main-Class": "org.testng.TestNG"
}
// all dependencies
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
// test ng run configuration
from('src/test/resources') {
include 'suite.xml'
}
}
所以,现在jar包含 Project A (包含所有依赖项)和 Project B src文件(.class),但是当我尝试运行时:
java -jar tests.jar suite.xml
收到错误:
Cannot find class in classpath: ibra.tests.soundGeneratorTest
这意味着我没有自己的src文件?当我解开我的罐子时,我可以看到它们。
也许这很难。我已经在堆栈上搜索了两天的解决方案,但找不到任何东西。