java - 外包 Junit Before 方法
问题描述
抽象测试
public abstract class AbstractTest
User user;
@Before
public void before(){
user = new User(); //wanna run this method in TestA, TestB, ...
}
扩展测试
public class TestA extends AbstractTest
User user;
@Test
public void testUser(){
AssertTrue(user.test);
}
当然用户没有被初始化。如何使用测试类中的@Before
-method初始化用户?abstract
解决方案
仅在 AbstractTest 中声明该字段并使其受到保护,以便子测试类(无论它们位于哪个包中)可以访问它:
public abstract class AbstractTest
protected User user;
...
不要在子类中重新声明该字段。