JUnit4 + Eclipse“启动期间发生内部错误”

我正在尝试在Eclipse 3.4.2上运行JUnit4测试用例,但它甚至都不适合我。 我的构建路径和测试应用程序中有junit-4.7.jar。

这是一个简单的例子,说明了我的问题

package test; import org.junit.Before; import org.junit.Test; public class UTest { @Test public void test() { } @Before public void setUp() throws Exception { } } 

编译好了

然后我从Eclipse运行“运行JUnit测试用例”,我收到一条带有此消息的错误对话框

 "Launching UTest' has encountered a problem An internal error occurred during: "Launching UTest". java.lang.NullPointerException 

是什么导致这些NullPointerExceptions? 我究竟做错了什么?

尝试一切后,对我有用的是:

  1. 去帮忙
  2. 安装新软件
  3. 使用:Juno
  4. 编程语言(扩展)
  5. 安装Java开发工具
  6. 重新开始

有用 :)

这对我有用:

  1. 创建测试类的另一个副本(CopyOfUTest.java)
  2. 运行副本以确保它通过
  3. 进入“运行”>“运行配置”
  4. 在JUnit下,找到原始类和复制类的运行配置
  5. 右键单击并删除原始类的配置
  6. 将复制的类的配置重命名为原始配置名称
  7. 从项目中删除复制的类

我只能通过删除工作区和Eclipse目录并重新开始来解决这个问题。

你看过Eclipse错误日志了吗? 您可以通过打开“错误日志”视图来查看它。

http://help.eclipse.org/help32/topic/org.eclipse.pde.doc.user/guide/tools/views/error_log.htm

这里没有给出的答案对我有用 ,所以我最后只是安装和使用InfiniTest 。 它没有这个问题,它也会自动运行测试,所以我可以专注于我的工作。

带有Infinitest的Eclipse在“Problems”选项卡中显示红色的“测试失败”状态消息和相应的断言错误

如果您还使用Android Development Kit插件,可能会导致此错误在eclipse中:

 "Launching UTest' has encountered a problem An internal error occurred during: "Launching UTest". java.lang.NullPointerException 

如果要将一个普通的Java项目加载到安装并启用了android ADT插件的Eclipse实例中,可能会导致这种情况。 在这种情况下,Eclipse会查找“Android”项目文件,并且找不到任何文件。 所以它说:“NullPointerException”。

所以要修复它,在没有ADT插件的情况下重新下载Eclipse: https : //www.eclipse.org/downloads/

然后重新导入您的项目。 junit测试没有问题。

许多人讨厌eclipse因为它是神秘的错误信息。 这就像我们回到了1950年的打卡世界,那里没有错误消息。 程序暂停,发生未定义的行为。

谢谢,这也解决了我的问题。 当我删除旧的模拟器并创建一个新模拟器时,问题就出现了。 修复:就像OP说删除工作区,确保将项目保留在其中:)然后将它们导回到eclipse“听起来像很多工作”? 花了不到半分钟!

如果您使用的是Android及其相关插件,则Android仅支持JUnit 3。

我选择Test Runner作为JUnit 3解决了这个问题。

在我的课程中,JUnit 4被添加到构建路径 – >库中。

然后运行测试文件,转到:运行方式 – >运行配置,然后选择相应的test.java文件并相应地选择Test Runner(无论是JUnit 3还是4)。

你的代码对我来说很好。

Eclipse版本:3.4.1构建标识:M20080911-1700

我右键单击.java文件RunAs JUnit Test。 这表明问题是由Eclipse配置问题引起的,而不是代码问题引起的。

我遇到了类似的问题,但我使用的是Python。 这就是我要解决/避免它的方法:

  1. 从Eclipse中删除了我的.project文件和项目。
  2. 再次创建了该项目。
  3. 一切正常。

问题似乎出现在.project文件中,其中有一些对CDT Builder的引用,而在新的.project文件中没有。