public class Something {
private static Something something = new Something();
public static Something get(){
return something;
}
private EventQueueWindow eventQueue;
private Something(){
TopComponent tc = WindowManager.getDefault().findTopComponent("EventQueueWindow");
eventQueue = (EventQueueWindow) tc;
}
EventQueue getQueue(){
return eventQueue;
}
}//end class Something
现在我想编写一个需要能够访问 eventQueue 的 JUnit 测试。
public void testgetQueue() {
Something something = Something.get();
assertEquals("Failed to return EventQueueWindow",something.getQueue().getClass(), EventQueueWindow.class);
}
我java.lang.NullPointerException
在运行测试时得到eventQueue
一个null
值,因为尽管它在类Something's
构造函数中被分配了一个值,但它还是有一个值。我已经阅读过,这可能与在不同线程中处理的组件或在测试运行之前未初始化有关。但我对 java 和单元测试还很陌生,不知道如何解决这个问题。任何指导将不胜感激。