我已经使用Eclipse中的菜单选项制作了Junit Test案例。 我得到了“以JUnit测试运行”选项。 但是当我完成更改后,我注意到“以JUnit测试运行”消失了。
进一步分析后,我发现我最初的TestClass定义如下:
public class SampleTest
{
....
}
但是我不得不将类定义更改为遵循
public class SampleTest<T>
{
..
}
所以我注意到添加泛型是在创建行为。 我查看了以下链接:
Run As JUnit not appearing in Eclipse - using JUnit4
public class SampleTest<T>
{
..
}
但是这些链接与我的问题不太相关。 因此,我需要了解包含泛型与行为有关的原因。
答案 0 :(得分:1)
Eclipse需要运行JUnit测试类
@Test
方法问题出在步骤1:Eclipse不知道在构造函数中使用哪种类型T
。
是否应使用new SampleTest<Object>()
或new SampleTest<WhatEver>()
?
因此,它确定它不是有效的JUnit测试类
并且不提供作为JUnit测试运行选项。
答案 1 :(得分:0)
对于泛型为何从一开始就删除JUnit的原因,我可能无法添加太多内容,但是通常测试类充当包装器来测试特定的类,例如:
public class Sample<T>
{
...
}
public class SampleTest
{
Sample<TypeHere> sample;
@Before
public void setUp() throws Exception {
}
sample= new Sample<OrTypeHere>(...);
...
}
@Test
public void whenConditionOne_verifyExpectedSituation() throws Exception {
...
}
}