简体   繁体   English

PostConstruct不能被调用

[英]PostConstruct not being called in junits

When i am testing(JUnit) this class i get NullPointerException when i call getdata method 当我测试(JUnit)此类时,我在调用getdata方法时得到NullPointerException

private static final Map<String, Function<String, String>> REFERENCE_MAP = new HashMap<>();

@Autowired
private static classA aobj;

@PostConstruct
public void initialize() {
    REFERENCE_MAP.put("s1", (bucketName) -> {
         return aobj.getSomething1(bucketName);
    });
    REFERENCE_MAP.put("s2", (bucketName) -> {
        return aobj.getSomething2(bucketName);
    });
    REFERENCE_MAP.put("s3", (bucketName) -> {
        return aobj.getSomething3(bucketName);
    });
    REFERENCE_MAP.put("s4", (bucketName) -> {
        return aobj.getSomething4(bucketName);
    });
}
public String getdata() {
    return REFERENCE_MAP.get("s1").apply("bucketname1");
}

how do i solve the problem 我该如何解决问题

In test file call the initialize method before running tests 在测试文件中,请在运行测试之前调用initialize方法

@RunWith(MockitoJUnitRunner.class)
public class testClass {

    @InjectMocks
    private mainClass mainclass;

    @Mock
    private ClassA obja;

    @Before
    public void init() {
        mainclass.initialize();

    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM