如何在JUnit中执行不同的@Before

时间:2016-04-07 11:27:14

标签: junit junit4

目前如果我编写@Before方法,它将针对JUnit中存在的每个测试执行。但是我想要以下内容。

我需要有多个@Before方法,只需要为每个测试执行。

Example:
 @Before
  setUpBeforeForTest1AndTest3()

 @Before
 setUpBeforeForTest2AndTest4()

对于test1和test2,应该执行setUpBeforeForTest1AndTest3(),对于其他测试,应该执行setUpBeforeForTest2AndTest4。

我怎么能实现这个目标?

2 个答案:

答案 0 :(得分:1)

你不可能这样做。

为此,制作2个不同的测试类,一个测试1和测试3,另一个测试2和测试4。

如果您在所有测试类中都需要通用方法,可以将它们外部化为帮助程序,或者创建一个超类(通常称为' TestBase'或类似的东西)来提供它们。

答案 1 :(得分:0)

您可以使用Junit

  

@Rule TestName

然后在你的

  

@Before,根据测试方法名称,做一些不同的事情。