我在演讲者中有这个:
private void init() {
view.subscribeOnButtonClick(new Clickable() {
@Override
public void clickPerformed() { sortArray(); }
});
}
我想在我的测试中记住这个可点击的对象,在'when'部分触发它(模拟按钮点击)
我试过这样:
def view = Mock(ArraySorterView)
def clickable
view.subscribeOnButtonClick(_) >> { x -> clickable = x }
when:
clickable.clickPerformed()
但它不起作用。 我做错了什么?
答案 0 :(得分:0)
我找到了解决方案。 我需要这样写:
view.subscribeOnButtonClick(_) >> { Clickable x -> clickable = x }
因为如果没有指定type,spock会将unnamed参数视为参数列表。