如何编写多个测试的弹簧测试套件并运行选择性测试?

sup*_*ova 5 junit spring spring-test

我在测试类中有很多弹簧测试方法.我想只运行选择性测试.所以我想在同一个类中创建一个测试套件.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/testApplicationContext.xml"})
@TransactionConfiguration(defaultRollback=true)
public class TestersChoice  { 


@Test
@Transactional
public void testAddAccount(){        
  ///do something ....
}  


@Test
@Transactional
public void testDeleteAccount(){        
  ///do something ....
}   

@Test
@Transactional
public void testReadAccount(){        
  ///do something ....
}   
Run Code Online (Sandbox Code Playgroud)

}

如果我运行此类TestersChoice,所有测试都将运行!我只是想运行testReadAccount而不是其余的.我想创建套件来运行选择性测试.(我想避免在测试方法之上删除@Test来实现这一点)在jUnit testcase中有类似的东西.这是我通过将TestersChoice类扩展到TestCase并插入此方法而能够做到的:

public static TestSuite suite(){
      TestSuite suite = new TestSuite();
       suite.addTest(new TestersChoice("testDeleteAccount"));
      return suite;
}
Run Code Online (Sandbox Code Playgroud)

但是现在我没有扩展TestCase所以我无法将套件添加到TestersChoice!

如何进行选择性测试?

Sti*_*ens 1

如果您想要对测试进行分组,那么问题不在于 spring-test,而在于无法对测试进行分组的 JUnit。考虑切换到 TestNG(也受 spring OOTB 支持)。

TestNG 基于 JUnit 构建,但功能更强大:请参阅比较

分组很容易。

问候,
斯蒂恩