Java JUnit参数在套件中首先运行的所有测试的方法,而不是在每个测试之前
基本问题是,当我将JUnit测试分组到套件或套件套件中时,所有测试的Java JUnit参数在套件中首先运行的所有测试的方法,而不是在每个测试之前,java,unit-testing,junit,parameterized,Java,Unit Testing,Junit,Parameterized,基本问题是,当我将JUnit测试分组到套件或套件套件中时,所有测试的@Parameters方法首先运行,然后执行各个套件或测试。我们的设置如下: @RunWith(Suite.class) @SuiteClasses({SubTestSuite01.class, SubTestSuite02.class,SubTestSuite03.class}) public class AllTests{} 我们有多个测试类文件,每个文件都有带有实际测试的静态内部类 @RunWith(Suite.clas
@Parameters
方法首先运行,然后执行各个套件或测试。我们的设置如下:
@RunWith(Suite.class)
@SuiteClasses({SubTestSuite01.class, SubTestSuite02.class,SubTestSuite03.class})
public class AllTests{}
我们有多个测试类文件,每个文件都有带有实际测试的静态内部类
@RunWith(Suite.class)
@SuiteClasses({
SubTestSuite01.TestSet01.class,
SubTestSuite01.TestSet02.class})
public class SubTestSuite01 {
public static class TestSet01{
public TestSet01(){}
@Parameters public static Collection<Object[]> data(){}
@Test public void test01(){}
@Test public void test02(){}
}
public static class TestSet02{
public TestSet02(){}
@Parameters public static Collection<Object[]> data(){}
@Test public void test01(){}
@Test public void test02(){}
}
}
但是,无论是运行AllTests
主套件还是SubTestSuite
,所有内部类的@Parameters
方法都会首先在整个套件中调用,然后调用任何@BeforeClass
方法或实际的测试方法
我的问题是:
@Parameters
方法在执行它自己的测试之前运行,而不是在套件的开头一起运行您不必在测试中使用静态类和内部类,我会使用类来进行类似的测试并选择组这种设置非常不寻常。我建议进行更正常的设置,看看那里的情况如何。至于在BeforeClass之前运行的Parameters方法,在这种情况下,我认为这将是我所期望的行为。@baba您能澄清一下更正常的设置是什么意思吗。。。?或者为什么这样的设置是不寻常的…?有人。。。。?任何进一步的线索…?没错,我不需要使用静态内部类。然而,我的问题是,无论我如何组织测试和套件,所有参数化的
@都将首先在整个套件中运行。我真的需要一种方法让它一次运行一个测试类。。。。