首页 > 解决方案 > 创建 Junit 测试用例后,“Run as Junit Test”消失

问题描述

我使用 Eclipse 中的菜单选项制作了一个 Junit 测试用例。我得到了“作为 JUnit 测试运行”选项。但是当我完成更改后,我注意到“Run as JUnit Test”消失了。

经过进一步分析,我发现我最初的 TestClass 定义如下:

public class SampleTest
{
....
}

但是我不得不将类定义更改为以下

public class SampleTest<T>   
{
..
}

所以我注意到添加泛型是创建行为。我查看了以下链接:

Run As JUnit 未出现在 Eclipse 中 - 使用 JUnit4

缺少“作为 JUnit 测试运行”

public class SampleTest<T>
{
..
}

但这些链接与我的问题不太相关。因此,我需要了解包含泛型与行为的原因。

标签: javaeclipsejunitjunit4

解决方案


为了运行 JUnit 测试类 Eclipse 需要

  1. 通过调用默认构造函数来创建测试类的实例,
  2. 调用@Test该实例上的所有方法

这里的问题出在第 1 步:Eclipse 不知道T在构造函数中使用哪种类型。
它应该使用new SampleTest<Object>() ornew SampleTest<WhatEver>()吗?
所以它决定它不是一个有效的 JUnit 测试类并且不提供Run as JUnit Test选项。


推荐阅读