解决因为TestNG插件导致eclipse无法跑jtester的问题
笔者按:
这个是一篇老文了,之前解决出来发到邮件群里了,换了笔记本发现邮件没有了。今天不经意间又发现了,防止再次失踪,于是记录到博客里,以作备案。
关于什么是jtester,可以看下这个论坛贴子。
http://www.iteye.com/topic/900975
正文:
笔者今日发现,自己新装Eclipse3.5,下载的JTester工程,装了TestNG插件,写一个JTester的单元测试。
但运行都报错了。其他同事运行的单元测试却没有问题,觉得奇怪。刚开始怀疑是JDK问题,
我下载了JDK1.6.0.17,JDK1.6.0.20,JDK1.6.0.22都不行。还是报同样的错误:
现象:
分析:
我通过DEBUG代码,发现在jtester包中的Startup类中执行loadInternalStartupMocks方法里报错具体在这一行:
验证:
发现TestNG版本是5.14.2.9。该版本是通过eclipse中的install new software 中http://beust.com/eclipse这个地址下载。
而其他同事(运行正常)的版本是:5.14.0.1,或者5.13.x。
于是我先点击Uninstall将TestNG版本删除,退出eclipse,到eclipse的安装目录,将plugins中的org.testng.eclipse_5.14.2.9的目录删除(这样才能彻底删除)。
再从http://testng.org/testng-eclipse-5.14.0.1.zip这里下载。将其解压,拷贝到plugins目录下。你 也可以使用附件中jar文件,将他拷贝到eclipse安装目录下的plugins中。安装重启Eclipse,之后再运行单元测试,JTester又出现了绿色!
总结:
如果你要开始使用JTester,请不要使用http://beust.com/eclipse的Update方式下载TestNG插件,直接使用org.testng.eclipse_5.14.0.1.jar文件。 1 楼 hjg1988 2011-03-08 我也遇到跟楼主一样的问题。
也确定是插件版本问题。
不知道是不是跟jmockit的0.999.6之前版本不兼容造成:
http://jmockit.googlecode.com/svn/trunk/www/changes.html 2 楼 Willam2004 2011-03-08 引用Release 0.999.6 (January 30, 2011):
Added support for TestNG 5.14 (requires listener configuration). However, support for older versions of TestNG (5.9-5.11) was dropped. Therefore, TestNG users upgrading to this version of JMockit (or newer) may also have to upgrade TestNG.
是的,应该是与这个有关。