EclipseJUnit@Before注释问题

EclipseJUnit@Before注释问题,junit,Junit,我在Eclipse中使用JUnit 4.5时遇到了一些困难,当我使用@Before annotation时,它什么也不做(我可能会使用setUp(),它当然可以工作,但我只是想知道出了什么问题),而它在Netbeans中却可以完美地工作。。有什么想法吗?如果您使用的是JUnit 4,您可以使用@test annotation来注释测试类或测试方法,而不是扩展TestCase。因为我是通过谷歌搜索访问这里的,必须深入挖掘才能看到实际的解决方案: 正如@Pace在评论中所说的,如果您扩展TestCa

我在Eclipse中使用JUnit 4.5时遇到了一些困难,当我使用@Before annotation时,它什么也不做(我可能会使用setUp(),它当然可以工作,但我只是想知道出了什么问题),而它在Netbeans中却可以完美地工作。。有什么想法吗?

如果您使用的是JUnit 4,您可以使用@test annotation来注释测试类或测试方法,而不是扩展TestCase。

因为我是通过谷歌搜索访问这里的,必须深入挖掘才能看到实际的解决方案: 正如@Pace在评论中所说的,如果您
扩展TestCase
,Eclipse将测试视为JUnit版本3或更高版本,并且不尊重
@之前的
>注释-也在此处描述pred:


因此,删除
扩展测试用例
会解决问题

,因为您使用的是JUnit4+,有两种方法可以编写测试用例

1>您使您的测试类
扩展TestCase
。在这种情况下,将拾取与JUnit3相对应的类,这些类在注释之前不知道
。在这种情况下,您必须覆盖

/**
 * Sets up the fixture, for example, open a network connection.
 * This method is called before a test is executed.
 */
protected void setUp() throws Exception {
}

2>使用注释。对您感兴趣作为测试运行的测试类中的方法使用
@Test
注释。您的类不需要
扩展TestCase
。此外,您不必重写任何方法。只需定义您自己的方法,该方法在测试方法运行之前具有要执行的逻辑,并在
注释之前使用
@对其进行注释。

发布一个示例测试,以便我们可以了解您是否在扩展TestCase?如果是这样,我认为它忽略了注释。你为你的项目指定了好的jar吗?谢谢你,佩斯,我忽略了Eclipse自动扩展TestCase,再次感谢你。他问的是@Before注释,他没有说任何关于无法运行的测试的话。尽管这是正确的,但这并没有解决OP提出的问题。