当我的测试在Eclipse中扩展TestCase(Junit)时,无法使用@Test annotation执行测试

当我的测试在Eclipse中扩展TestCase(Junit)时,无法使用@Test annotation执行测试,eclipse,junit4,Eclipse,Junit4,当我的测试在Eclipse中扩展TestCase(Junit)时,无法使用@Test annotation执行测试 当我不是从TestCase(jUnit)扩展时,它可以正常工作,但我现有的代码是从TestCase扩展的,因此我希望保持原样。检查您是否没有使用JUnit3 runner 为您的测试打开“运行配置”,并在test选项卡上确保为您的测试运行程序选择了JUnit4 IMHO,如果您正在为JUnit4改装测试套件,只需放弃对JUnit3的支持 顺便说一句,如果您切换到“JUnit4”ru

当我的测试在Eclipse中扩展TestCase(Junit)时,无法使用@Test annotation执行测试


当我不是从TestCase(jUnit)扩展时,它可以正常工作,但我现有的代码是从TestCase扩展的,因此我希望保持原样。

检查您是否没有使用JUnit3 runner

为您的测试打开“运行配置”,并在
test
选项卡上确保为您的测试运行程序选择了
JUnit4

IMHO,如果您正在为JUnit4改装测试套件,只需放弃对JUnit3的支持


顺便说一句,如果您切换到“JUnit4”runner,它仍然会执行旧的JUnit3类(您不必向它们添加@Test注释)。

检查您是否没有使用JUnit3 runner

为您的测试打开“运行配置”,并在
test
选项卡上确保为您的测试运行程序选择了
JUnit4

IMHO,如果您正在为JUnit4改装测试套件,只需放弃对JUnit3的支持


顺便说一句,如果您切换到“JUnit 4”运行程序,它仍将执行旧的JUnit3类(您不必向它们添加@Test注释)。

扩展JUnit.framework.TestCase的测试被JUnit4运行程序视为JUnit3样式的测试。有关更多详细信息,请参阅
alldefaultposabilitiesbuilder

您可以通过使用
@RunWith(JUnit4.class)
注释类,强制JUnit4将扩展
TestCase
的类视为JUnit4样式的测试,但您几乎肯定不想这样做。如果您这样做,您的测试类仍然会继承来自
junit.framework.TestCase
的所有方法,但是这些方法不会被调用。换言之,你会继承很多粗陋的东西

继承通常是共享代码的一种糟糕的方式,即使在测试中也是如此。如果可以将共享代码放在另一个类中并直接从测试类中委托,那么就这样做

如果您使用JUnit4.7或更高版本,请提供另一种共享代码的方法。规则可以受测试行为的影响,也可以影响测试行为


在极少数情况下,多个JUnit4测试类所需的共享代码可以在一个运行程序中共享,但由于一个测试类只能指定一个运行程序,因此运行程序与基类有许多相同的缺点。

扩展junit.framework.TestCase的测试被JUnit4运行程序视为JUnit3样式的测试。有关更多详细信息,请参阅
alldefaultposabilitiesbuilder

您可以通过使用
@RunWith(JUnit4.class)
注释类,强制JUnit4将扩展
TestCase
的类视为JUnit4样式的测试,但您几乎肯定不想这样做。如果您这样做,您的测试类仍然会继承来自
junit.framework.TestCase
的所有方法,但是这些方法不会被调用。换言之,你会继承很多粗陋的东西

继承通常是共享代码的一种糟糕的方式,即使在测试中也是如此。如果可以将共享代码放在另一个类中并直接从测试类中委托,那么就这样做

如果您使用JUnit4.7或更高版本,请提供另一种共享代码的方法。规则可以受测试行为的影响,也可以影响测试行为


在极少数情况下,多个JUnit4测试类所需的共享代码可以在一个运行程序中共享,但由于一个测试类只能指定一个运行程序,因此运行程序与基类有许多相同的缺点。

扩展junit.framework的测试。测试用例被JUnit4运行程序认为是JUnit3风格的测试。这是正确的


要@Test注释,您需要而不是扩展
junit.framework
。TestCase和@Test annotation运行良好

扩展junit.framework的测试。测试用例被JUnit4运行程序认为是JUnit3风格的测试。这是正确的

要@Test注释,您需要而不是扩展
junit.framework
。TestCase和@Test注释工作正常