解决因为TestNG插件导致eclipse maven testng无法跑jtester的有关问题怎么解决

[热门]运行jtester测试Caused by: java.lang.Unsatis_抗衫范钨_天涯博客
这家伙真懒,什么都没留下......
今日访问:[$DayVisitCount$]
总访问量:33520
开博时间:
博客排名:54791
(4)(16)(16)(22)(24)(24)(13)(16)(18)(22)(12)
1、首先利用eclipse Install new Software安装testng插件,地址为:/eclipse这是可能提示安装插件错误安装不上,这时按照eclipse的提示地址下载插件jar包,然后放到eclipse目录下的dropins下,重新启动eclipse这样变能运行testng测试了。2、运行的时候报错,如下:java.lang.IllegalStateException: Native library for Attach API not available in this JREat mockit.internal.startup.JDK6AgentLoader.getVirtualMachineImplementationFromEmbeddedOnes(JDK6AgentLoader.java:81)at mockit.internal.startup.JDK6AgentLoader.loadAgent(JDK6AgentLoader.java:54)at mockit.internal.startup.AgentInitialization.initializeAccordingToJDKVersion(AgentInitialization.java:21)at mockit.internal.startup.Startup.initializeIfNeeded(Startup.java:208)at org.jtester.core.Startup.initializeIfNeeded(Startup.java:27)at org.jtester.module.core.JMockitModule.init(JMockitModule.java:17)at org.jtester.module.core.loader.ModulesLoader.loading(ModulesLoader.java:88)at org.jtester.module.core.CoreModule.&init&(CoreModule.java:69)at org.jtester.module.core.CoreModule.initSingletonInstance(CoreModule.java:59)at org.jtester.testng.JTester.&clinit&(JTester.java:21)at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)at java.lang.reflect.Constructor.newInstance(Unknown Source)at org.testng.internal.ObjectFactoryImpl.newInstance(ObjectFactoryImpl.java:29)at org.testng.internal.ClassHelper.createInstance1(ClassHelper.java:374)at org.testng.internal.ClassHelper.createInstance(ClassHelper.java:286)at org.testng.internal.ClassImpl.getDefaultInstance(ClassImpl.java:110)at org.testng.internal.ClassImpl.getInstances(ClassImpl.java:195)at org.testng.internal.TestNGClassFinder.&init&(TestNGClassFinder.java:120)at org.testng.TestRunner.initMethods(TestRunner.java:405)at org.testng.TestRunner.init(TestRunner.java:231)at org.testng.TestRunner.init(TestRunner.java:201)at org.testng.TestRunner.&init&(TestRunner.java:157)at org.testng.remote.RemoteTestNG$1.newTestRunner(RemoteTestNG.java:137)at org.testng.remote.RemoteTestNG$DelegatingTestRunnerFactory.newTestRunner(RemoteTestNG.java:266)at org.testng.SuiteRunner$ProxyTestRunnerFactory.newTestRunner(SuiteRunner.java:568)at org.testng.SuiteRunner.init(SuiteRunner.java:158)at org.testng.SuiteRunner.&init&(SuiteRunner.java:112)at org.testng.TestNG.createSuiteRunner(TestNG.java:1246)at org.testng.TestNG.createSuiteRunners(TestNG.java:1233)at org.testng.TestNG.runSuitesLocally(TestNG.java:1085)at org.testng.TestNG.run(TestNG.java:1006)at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:107)at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:199)at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:170)Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.pathat java.lang.ClassLoader.loadLibrary(Unknown Source)at java.lang.Runtime.loadLibrary0(Unknown Source)at java.lang.System.loadLibrary(Unknown Source)at sun.tools.attach.WindowsVirtualMachine.&clinit&(WindowsVirtualMachine.java:169)由于我的项目是使用maven管理的,感觉可能和maven发生冲突了,于是禁用maven,运行eclipse:clean eclipse:eclipse后再运行项目又出现下面的错误(后经检查发现没有和maven发生冲突,需要在pom.xml中加入&plugin&&groupId&org.apache.maven.plugins&/groupId&&artifactId&maven-surefire-plugin&/artifactId&&configuration&&testNGArtifactName&test.testng.jdk15&/testNGArtifactName&&argLine&-javaagent:&${settings.localRepository}/test.jmockit/0.997/test.jmockit-0.997.jar&&/argLine&&/configuration&&/plugin&)配置后便可/。java.lang.RuntimeException: You have enable jmockit module, but JMockit has not been initialized. Check that your Java 5 VM has been started with the -javaagent:jmockit jar command line option.at org.jtester.core.testng.JMockitHookable.&init&(JMockitHookable.java:42)at org.jtester.core.testng.JTesterHookable.dealJMockitTestDecorator(JTesterHookable.java:125)at org.jtester.testng.JTester.setupJTesterClass(JTester.java:28)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:543)at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:212)at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:175)at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:107)at org.testng.TestRunner.privateRun(TestRunner.java:753)at org.testng.TestRunner.run(TestRunner.java:613)at org.testng.SuiteRunner.runTest(SuiteRunner.java:335)at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:330)at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)at org.testng.SuiteRunner.run(SuiteRunner.java:241)at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)at org.testng.TestNG.runSuitesSequentially(TestNG.java:1169)at org.testng.TestNG.runSuitesLocally(TestNG.java:1094)at org.testng.TestNG.run(TestNG.java:1006)at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:107)at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:199)at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:170)根据提示,在eclipse-&run-&run configurations-&TestNG选择所运行的测试类,在Arguments下的VM Arguments下加上-javaagent:C:\test.jmockit-0.997.jar后便可正常运行test case了。分类: |3145人阅读
java(14)
前阵子在命令行使用TestNG跑测试脚本时发现一个奇怪的问题,即同样的代码在eclipse环境下可以正常运行,而在命令行的情况下缺无法执行;
具体场景如下:
1、每个测试单元执行后发一个单元的测试报告
2、多线程执行多个单元,每个单元的测试时间不定
3、eclipse下单线程执行可以发邮件
4、命令行下发邮件提示异常【单线程、多线程都有问题】
解决方式:
1、排除多线程原因导致,即程序本身的问题【使用单线程、多线程2种方式分别启动】
2、排查eclipse与命令行运行的环境差异【命令参数、jar包的版本】
最终问题在第二步解决:
1、使用processExplorer工具查看在eclipse环境下调用testNG的命令行格式
&C:\Program Files\Java\jre7\bin\javaw.exe& -ea -Dfile.encoding=UTF-8 -classpath &/D:/Program Files/eclipse/plugins/org.testng.eclipse_6.8.6.5/lib/testng.D:\workspace\myjava\D:\Program Files\eclipse\plugins\org.testng.eclipse_6.8.6.5\lib\testng.C:\Program Files\Java\jdk1.6.0_10\lib\ext\selenium-server.D:\ddap\trunk\platform\WebRoot\WEB-INF\lib\ant.D:\checkoutapi\lib\sqljdbc4.D:\checkoutapi\lib\sunjce_provider.D:\checkoutapi\lib\classes12.D:\checkoutapi\lib\commons-codec-1.9.D:\checkoutapi\lib\commons-logging-1.1.3.D:\checkoutapi\lib\json-lib.D:\checkoutapi\lib\mysql-connector-java-3.1.10-bin.D:\checkoutapi\lib\org.apache.httpcomponents.httpclient_4.3.2.D:\checkoutapi\D:\checkoutapi\lib\java-mail-1.4.4.D:\checkoutapi\lib\commons-lang3-3.3.2.D:\workspace\myjava\lib\hadoop-core-1.2.1.D:\workspace\myjava\lib\commons-cli-1.2.jar& org.testng.remote.RemoteTestNG -serport 4257 -d D:\workspace\myjava\test-output C:\DOCUME~1\CHENXI~1\LOCALS~1\Temp\testng-eclipse-\testng-customsuite.xml可简化为:
javaw.exe -ea -Dfile.encoding=UTF-8 -classpath &*.jar& org.testng.remote.RemoteTestNG -serport 4257 -d test-output testng.xml
2、分析与命令行启动的参数中不一致的部分【-ea, -Dfile.encoding,&RemoteTestNG,&-serport】
3、得出缺少部分参数【-ea】
4、补充参数后再次运行,即可成功
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:735081次
积分:7652
积分:7652
排名:第1550名
原创:142篇
转载:25篇
评论:104条
(3)(2)(2)(2)(1)(1)(3)(2)(2)(3)(2)(6)(1)(3)(4)(3)(1)(5)(4)(6)(5)(5)(3)(7)(2)(4)(1)(3)(8)(11)(19)(2)(4)(3)(4)(24)(3)(1)(3)TestNG Eclipse插件
现在位置: >
TestNG Eclipse插件
TestNG Eclipse插件来源:原创文章&&& 由 易百 更新版本&&& 浏览:人次
用设置TestNG,下面的步骤必须遵循:
步骤1:下载TestNG的归档文件
压缩文件名
testng-6.8.jar
testng-6.8.jar
testng-6.8.jar
假设你上面复制的JAR文件到 C:\&TestNG 文件夹.
第二步:设置Eclipse环境
打开 eclipse -& 右键单击项目,然后单击property & Build Path & Configure Build Path 并添加 testng-6.8.jar 在库中使用&Add External Jar&按钮.
我们假设你的eclipse 中&TestNG插件已经内置,如果不是,那么请使用更新站点获取最新版本:
在你的 eclipse IDE, 选择&Help / Software updates / Find and Install.
搜索新功能安装。
新的远程站点。
For Eclipse 3.4 and above, enter&.
For Eclipse 3.3 and below, enter&.
Make sure the check box next to URL is checked and click&Next.
然后Eclipse会引导帮您完成整个过程。
现在,你的eclipse已经可以使用 TestNG测试用例的开发做好准备。
步骤3:确认Eclipse已经安装TestNG
在eclipse中创建一个项目TestNGProject
创建一类MessageUtil在项目测试。
* This class prints the given message on console.
public class MessageUtil {
private String message;
//Constructor
//@param message to be printed
public MessageUtil(String message){
this.message = message;
// prints the message
public String printMessage(){
System.out.println(message);
return message;
在项目中创建一个测试类TestNGExample
import org.testng.Assert;
import org.testng.annotations.Test;
public class TestNGExample {
String message = &Hello World&;
MessageUtil messageUtil = new MessageUtil(message);
public void testPrintMessage() {
Assert.assertEquals(message,messageUtil.printMessage());
下面应该是项目结构:
最后,通过右击程序和的运行验证程序的输出。
验证结果。
本站文章除注明转载外,均为本站原创或编译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,传播学习教程;
转载请注明:文章转载自:易百教程 []
本文标题:TestNG Eclipse插件
转载请保留原文链接:
上一篇: &&&&
下一篇:没有了
易百教程提供的内容仅用于培训。我们不保证内容的正确性。通过使用本站内容而可能带来的风险与本站无关。易百教程的所有内容仅供测试,对任何法律问题及风险不承担任何责任。
当使用本站时,代表您已接受了本站的使用条款和隐私条款。版权所有,保留一切权利!

我要回帖

更多关于 testng eclipse 插件 的文章

 

随机推荐