【问题标题】:Is there a way to match on a call-by-name argument of a Mockito mock object in Specs?有没有办法匹配 Specs 中 Mockito 模拟对象的名称调用参数?
【发布时间】:2012-03-19 17:06:41
【问题描述】:

我正在使用具有 call-by-name 参数的一些方法测试一个对象与另一个对象之间的交互。但是,我不知道如何为按名称调用的参数创建参数匹配器。

假设这是模拟对象的签名:

def fn(arg1: => String, arg2: Int): Any

然后我真正想做的是测试是否使用已知的第二个参数调用该方法。我什至不太关心第一个论点,但有一种方法来正确测试它也是一个好处。

这不起作用:

there was one(mock) fn(any[()=>String], eq(12))

也不是这个:

there was one(mock) fn(any[Function0[String]], eq(12))

这甚至无法编译:

there was one(mock) fn(any[=>String], eq(12)) ...这显然是意料之中的。

【问题讨论】:

标签: scala specs


【解决方案1】:

我刚刚在 specs2 中为 byname arguments and functions/partial function arguments 添加了一些支持。请试用最新的 specs2-1.9-SNAPSHOT,如果不适合您,请在 GitHub 上创建问题。

【讨论】:

    猜你喜欢
    • 2022-06-22
    • 2020-07-07
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 2018-12-26
    • 2016-10-23
    • 1970-01-01
    相关资源
    最近更新 更多