我正在阅读一篇我没写过的代码。我偶然发现了以下声明:
context.checking(new org.jmock.Expectations() {
{
allowing(habilitationManager).hasRole(RoleDtoEnum.ROLE_NEWS);
will(returnValue(true));
allowing(habilitationManager).hasRole(RoleDtoEnum.ROLE_STAT);
will(returnValue(true));
allowing(habilitationManager).getUser();
will(returnValue(getUserMock()));
oneOf(parametreService).getParametre(PPP);
will(returnValue(getMockPPP()));
}
});
我理解第二个{ ... }
内部调用的方法是Expectations
方法。
{ ... }
?答案 0 :(得分:7)
这是一个匿名类,其中包含一个实例初始化程序块。所以将两者分开:
// This is an anonymous class
Expectations expectations = new Expectations() {
// Class body here
};
class Foo {
// This is an instance initializer block in a normal class
{
System.out.println("You'll see this via either constructor");
}
Foo(int x) {}
Foo(String y) {}
}
在任何构造函数的主体之前,以文本顺序隐式调用instance initializer作为实例变量初始值设定项。