我有一个前任
的功能public void func {
....
....
URL url = Platform.getBundle(Activator.PLUGIN_ID).getEntry("config");
....
....
}
现在我正在为上面的函数编写Junit测试用例,该函数位于不同的测试插件中。 当我在junit测试方法中调用func时,我得到空指针异常。
我试过打印
Platform.getBundle(Activator.PLUGIN_ID) which returns null
Platform.isRunning() which returns false.
请让我知道如何解决这个问题?我可以做什么,以便我的JUnit测试用例成功。
提前谢谢。
答案 0 :(得分:0)
Just a Pseudo Code...
private Platform platform;
public void func() {
//....
//....
URL url = getPlatForm().getEntry("config");
//....
//....
}
public Platform getPlatForm() {
return platform.getBundle(Activator.PLUGIN_ID);
}
In your testcase,
override the getPlatForm() method with a mock/stub.
Class yourClass = new yourClass() {
@override
public Platform getPlatForm() {
return mock/stub!!;
}
}