2015-11-19 63 views
1

我正在使用linux mechine(ubuntu 14)。我的项目是与testng框架工作的maven项目。这里我试图从命令提示符运行testng.xml,以便我可以在jenkins中进行配置。如何从命令提示符下运行maven项目testng.xml

project location : /home/subhash/workspace/myproject 
class path is : /home/subhash/workspace/myproject/bin 
testng jar locattion is: /home/subhash/.m2/repository/org/testng/testng/6.9.4/testng-6.9.4.jar" 

suite location is : /home/subhash/workspace/suites/src/test/resources/testng.xml 

hence i executed the following command from command prompt from the location. 
/home/subhash/workspace/myproject/bin$ 

$ java -cp ".:../lib/*:/home/subhash/.m2/repository/org/testng/testng/6.9.4/testng-6.9.4.jar" org.testng.TestNG /home/subhash/workspace/suites/src/test/resources/testng.xml 

我得到以下例外:

Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException

因此,我已经添加在pom.xml中的依赖关系如下。

<dependency> 
<groupId>com.beust</groupId> 
<artifactId>jcommander</artifactId> 
<version>1.48</version> 

构建它。它是成功的。 我再次运行上面提到的命令来运行testng.xml,但仍显示相同的异常。

请帮我解决这个问题。

在此先感谢。 Subhash。

回答

0

看看这个问题:Suddenly can't run TestNG tests from ant ([testng] Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException)

这似乎是同样的问题

希望帮助!

UPDATE

尝试添加到CP的Java参数里的 '博伊斯特' 罐子路径平方米。

+0

嗨,Francis,感谢您的回复。正如我在文章中所建议的那样,我已经完成了。我用最新版本替换了我的testng.jar文件,并尝试再次运行testng.xml文件,但仍然显示Exception异常。异常在线程“main”java.lang.NoClassDefFoundError:com/beust/jcommander/ParameterException \t at java.lang.Class.getDeclaredMethods0(Native Method) – subhash

+0

嗨Subash,你尝试添加到-cp java参数的' beust'jar路径?以与添加testng jar路径相同的方式执行此操作 –

0

使用mvn测试而不是testng jar运行测试会更容易。 在pom中设置mvn surefire插件并使用mvn test -DsuiteXmlFile = src/test/resources/yourxml.xml运行

+0

我尝试添加此插件并运行maven测试。异常显示。未能执行目标org.apache.maven.plugins:maven-surefire-plugin:2.19:test-suite上的测试(默认测试):目标的执行默认测试org.apache.maven.plugins:maven -surefire-plugin:2.19:测试失败:分叉进程中出现错误 [错误] org.apache.maven.surefire.testset.TestSetFailedException:Suite文件/home/subhash/workspace/test-suite/test_suite_main.xml不是有效的文件 [错误]在org.apache.maven.surefire.testng.TestNGXmlTestSuite.locateTestSets(TestNGXmlTestSuite.java:115) – subhash

+0

它说套件文件无效。这个路径是否可以从你的Maven运行的地方访问? –

+0

只需将该文件放在您的项目中,并使用src/test/resources/testng.xml ..无需给绝对路径 –

相关问题