0

我的演示者中有这个:

private void init() {
    view.subscribeOnButtonClick(new Clickable() {
        @Override
        public void clickPerformed() { sortArray(); }
    });
}

我想在我的测试中记住这个可点击的对象,以便在“何时”部分触发它(模拟按钮点击)

我试过这样:

def view = Mock(ArraySorterView)
def clickable
view.subscribeOnButtonClick(_) >> { x -> clickable = x }
when:
clickable.clickPerformed()

但它不起作用。我究竟做错了什么?

4

1 回答 1

0

我找到了解决方案。我需要这样写:

view.subscribeOnButtonClick(_) >> { Clickable x -> clickable = x }

由于如果未指定类型,spock 将未命名参数视为参数列表。

于 2013-04-04T10:59:31.580 回答