首页 > 解决方案 > 外包 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

标签: javajunitabstract

解决方案


仅在 AbstractTest 中声明该字段并使其受到保护,以便子测试类(无论它们位于哪个包中)可以访问它:

public abstract class AbstractTest

protected User user;
...

不要在子类中重新声明该字段。


推荐阅读