运行jtester测试Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.path错误解决

1、首先利用eclipse Install new Software安装testng插件,地址为:http://beust.com/eclipse

这是可能提示安装插件错误安装不上,这时按照eclipse的提示地址下载插件jar包,然后放到eclipse目录下的dropins下,重新启动eclipse这样变能运行testng测试了。

2、运行的时候报错,如下:

java.lang.IllegalStateException: Native library for Attach API not available in this JRE
	at 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.path
	at 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了。



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值