在junit中,每个测试都应该独立运行。对于更复杂的程序,你通常运行设置方法。但是我需要像每个参数之前运行的setup方法。每个参数的Junit参数化测试
可以说我有这样的测试用例:
setup()
contructor()
test1()
test2()
test3()
teardown()
从执行我的JUnit的参数化测试,这将落得像这样用2个PARAMS:
setUpBeforeClass
contrcutor called
test1 running
contrcutor called
test2 running
contrcutor called
test3 running
contrcutor called
test1 running
contrcutor called
test2 running
contrcutor called
test3 running
tearDownAfterClass
我需要的是一种叫做在每个参数之前。所以结果会是这样的(改变方法与“()”):
setUpBeforeClass
contrcutor called
setupParam()
test1 running
contrcutor called
test2 running
contrcutor called
test3 running
contrcutor called
tearDownParam()
setupParam()
test1 running
contrcutor called
test2 running
contrcutor called
test3 running
tearDownParam()
tearDownAfterClass
我知道JUnit测试应该是原子,但每PARAM设置,过程是非常昂贵的。有没有办法实现这种执行顺序?
在此先感谢!
更新:
@Before作为第一个答案只会导致通话每测试之前。 例子:
setUpBeforeClass
contrcutor called
before
test1 running
contrcutor called
before
test2 running
contrcutor called
before
test3 running
contrcutor called
before
test1 running
contrcutor called
before
test2 running
contrcutor called
before
test3 running
tearDownAfterClass
@Before只会导致在每次测试之前执行before()方法。我想在每个参数前执行一次。 – whereismydipp
我更新了问题。你可以看到结果和我的意思。 – whereismydipp