从远程服务器上的jar运行java测试

时间:2018-04-10 17:13:05

标签: java testing gradle jar testng

我从远程服务器运行测试时遇到问题。从nexus下载jar,并运行测试ng套件文件:

java -jar tests.jar suite.xml

问题:我无法像这样运行test.jar。

结构:

  1. 项目A
  2. 项目B依赖于项目A
  3. 项目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文件?当我解开我的罐子时,我可以看到它们。

    也许这很难。我已经在堆栈上搜索了两天的解决方案,但找不到任何东西。

0 个答案:

没有答案