TestNG:Eclipse对JUnit感到困惑

16
我正在Eclipse项目中使用TestNG进行测试,但是我遇到一个奇怪的错误:当我尝试从业务类生成一个测试类时,弹出一个窗口显示“网格不可编辑”(标题),“编译单元无法编译,或不是junit.framework.TestCase的子类。请修复后重试”(正文)。 不知何故,Eclipse似乎认为我想创建JUnit类,而我不明白其中的原因。有线索吗?
配置: Eclipse 3.6.0 TestNG 5.14.10

你在Eclipse中安装了TestNG插件吗? - mezmo
是的,我已经安装了它。你说得对,我应该提到它的。 - Alexis Dufrenoy
3
好的,我明白了。它是谷歌CodePro。由于某些原因,它认为所有名称以“Test”结尾的类都是JUnit测试。因此,当我使用TestNG插件生成测试时,Eclipse默认使用CodePro测试编辑器打开测试类,但显然这不是有效的JUnit测试。我必须找到一种方法来禁用它。真糟糕... - Alexis Dufrenoy
1
我在这里找到了一个解决方案:http://forums.instantiations.com/viewtopic.php?f=7&t=5535 - Alexis Dufrenoy
1个回答

53
谷歌的CodePro Analytix是一款新开源的静态分析工具,它是问题的原因。它创建了一个新的默认编辑器过滤器,尝试使用特定的JUnit编辑器打开每个以“Test”结尾的类。另一方面,Eclipse的TestNG插件使用被测试类名称生成测试类,并在末尾添加“Test”。因此,当您使用TestNG插件创建测试类时,默认情况下会使用CodePro Junit编辑器打开它,而该编辑器会显示一个错误弹出窗口,指示该类不是有效的JUnit测试类。
解决方法是在Eclipse首选项中删除编辑器过滤器:
Window -> Preferences ; General -> Editors -> File Associations
选择*.java文件类型,选择Java Editor,然后单击“默认”按钮。

4
感谢在 367 天后的帮助!! - vvnraman
7
感谢您的回答。我只想补充一点:如果您在执行上述操作后仍然收到相同的消息,请关闭文件并重新打开。 - Susie
2
有点悲哀的是,在2014年我遇到了这个问题,然后从2011年找到了答案。 - PatrickB
1
我不确定谷歌是否会很快修复它。CodePro项目似乎已经死了... - Alexis Dufrenoy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接