Java 扩展BaseTest的testNG测试

Java 扩展BaseTest的testNG测试,java,testing,maven-2,junit,testng,Java,Testing,Maven 2,Junit,Testng,我们注意到,当testNG测试用例扩展TestCase(JUnit)时,这些测试开始作为JUnit测试执行。另外,我应该提到,测试是通过Maven运行的 这是一个bug还是一个特性?是否有可能重写此行为并仍将这些类型的测试作为TestNG测试运行?你知道TestNG谈论这个的链接吗 谢谢。我认为TestNG和JUnit都不需要任何基类,因为它们都使用注释来指定测试方法。为什么你认为你需要扩展一个类?为什么TestNG类会扩展JUnit基类TestCase?它们作为JUnit测试运行有什么奇怪的吗

我们注意到,当testNG测试用例扩展TestCase(JUnit)时,这些测试开始作为JUnit测试执行。另外,我应该提到,测试是通过Maven运行的

这是一个bug还是一个特性?是否有可能重写此行为并仍将这些类型的测试作为TestNG测试运行?你知道TestNG谈论这个的链接吗


谢谢。

我认为TestNG和JUnit都不需要任何基类,因为它们都使用注释来指定测试方法。为什么你认为你需要扩展一个类?为什么TestNG类会扩展JUnit基类TestCase?它们作为JUnit测试运行有什么奇怪的吗

这听起来既不是bug也不是特性,而是用户的错误。我不知道你在说什么。你为什么要这样做


更新:你的问题让我困惑。您是否成功运行了JUnit测试,但您没有尝试将其转换为TestNG,或者反之亦然?我很难理解你在这里想要实现什么。别理Maven。无论它们是由您、Ant还是Maven运行都无关紧要。

我认为TestNG或JUnit都不需要任何基类,因为它们都使用注释来指定测试方法。为什么你认为你需要扩展一个类?为什么TestNG类会扩展JUnit基类TestCase?它们作为JUnit测试运行有什么奇怪的吗

这听起来既不是bug也不是特性,而是用户的错误。我不知道你在说什么。你为什么要这样做

更新:你的问题让我困惑。您是否成功运行了JUnit测试,但您没有尝试将其转换为TestNG,或者反之亦然?我很难理解你在这里想要实现什么。别理Maven。无论它们是由您、Ant还是Maven运行,这都无关紧要。

仅当它还扩展了jUnit 3类时,我看不到为TestNG处理选择测试的任何方法

IFAIK您最好的选择是分别处理每个类,删除jUnit引用,然后重新测试。这样的话,你就不会在一节课上出现这种情况,你应该避免出现问题。为了使工作易于管理,我倾向于只在出于其他原因更改测试用例时才这样做

看一下,我看不出有任何方法可以选择一个测试进行TestNG处理,只要它还扩展了JUnit3类


IFAIK您最好的选择是分别处理每个类,删除jUnit引用,然后重新测试。这样的话,你就不会在一节课上出现这种情况,你应该避免出现问题。为了使工作易于管理,我倾向于只在出于其他原因更改测试用例时才这样做

我不是说应该扩展Junit的BaseCase。如果从头开始编写TestNG测试,那么正确的方法是使用@test注释对测试类进行注释,就是这样。但是,当您试图从Junit迁移到TestNG时,您没有这种能力。在这种情况下,您不能盲目地删除extends子句,然后到处抛出@Test注释。是的,如果您使用的是JUnit4,您可以这样做。你应该是。好的,最后一次尝试。在我的项目中,我使用Tesng运行junit测试。这些是遗留测试,因为它们是junit测试,所以它们扩展了一个类。现在,当您使用@test注释注释该测试并使用TestNG运行它时,它将作为Junit测试运行,但我希望它使用TestNG的特性运行,例如setUp/teardown,每个测试类调用一次,测试方法不需要以单词test等开头,但它看起来像是test的默认行为扩展了BaseCase,这是一个junit测试,不能重写。我不是说应该扩展junit的BaseCase。如果从头开始编写TestNG测试,那么正确的方法是使用@test注释对测试类进行注释,就是这样。但是,当您试图从Junit迁移到TestNG时,您没有这种能力。在这种情况下,您不能盲目地删除extends子句,然后到处抛出@Test注释。是的,如果您使用的是JUnit4,您可以这样做。你应该是。好的,最后一次尝试。在我的项目中,我使用Tesng运行junit测试。这些是遗留测试,因为它们是junit测试,所以它们扩展了一个类。现在,当您使用@test注释注释该测试并使用TestNG运行它时,它将作为Junit测试运行,但我希望它使用TestNG的特性运行,例如setUp/teardown,每个测试类调用一次,测试方法不需要以单词test等开头,但它看起来像是test扩展BaseCase的testng的默认行为。它是一个junit测试,不能被重写