我有一个GwtMockitoTestCase,调试器似乎没有进入任何普通的GWT类,如Widget、ResizeLayoutPanel等。但是,当在DevMode中运行相同的代码时,调试器将正确地遍历该代码。
这与运行在JRE中的GWT有关吗?如果不是的话,我的类路径会不会有问题呢?或者gwt用户jar没有调试信息?
我还尝试扩展GWT类:
ResizeLayoutPanel w = new ResizeLayoutPanel() {
@Override
public void setWidget(Widget pW) {
super.setWidget(pW); (1)
}
};而行(1)上的断点正在工作,但按下F5,它不会进入ResizeLayoutPanel的setWidget方法中。
谢谢!
发布于 2015-05-05 10:09:09
在深入研究GwtMockito代码之后,似乎有一组类是存根的,一些方法的主体被移除。因此,不可能调试这些方法。
剩下的问题是,GWTMockito在某种程度上破坏了代码覆盖率工具(EclEmma),该工具显示的代码覆盖比预期的要少。关于这个话题,我发布了一个单独的问题:false code coverage reported using GwtMockito
一些技术背景:
GwtMockitoClassLoader存根完全来自GWT的一些类,请检查GwtMockitoTestRunner#getClassesToStub(),其中包括Widget和ResizeLayoutPanel类。
对于返回原始值或空值的方法,顽固性过程完全删除主体,请参见GwtMockitoClassLoader#onLoad。如果返回是一个java,它将返回一个模拟版本。
https://stackoverflow.com/questions/30026912
复制相似问题