模拟不带参数但带有隐式参数的方法

道格拉斯
abstract trait MyApi {

  def getResult()(implicit ec: ExecutionContext): Future[String]

}

以下内容不起作用

val m = mock[MyApi]
(m.getResult _).expects() returning "..."

它失败并显示:

java.lang.ClassCastException: org.scalamock.MockFunction1 cannot be cast to org.scalamock.MockFunction0

注意:http ://scalamock.org/user-guide/advanced_topics/中给出的示例仅在该方法至少具有一个参数时才有用。因此,我们不能像在使用scalamock的scala中使用ClassTag的模拟方法中那样使用该解决方案

埃德灰尘

我猜你没有看正确的例子。请看示例4中的隐式参数:

class Codec()

trait Memcached {
  def get(key: String)(implicit codec: Codec): Option[Int]
}

val memcachedMock = mock[Memcached]

implicit val codec = new Codec
(memcachedMock.get(_ : String)(_ : Codec)).expects("some_key", *).returning(Some(123))

当然,对于您来说,非隐式参数为null,因此您需要:

(m.getResult()(_: ExecutionContext)).expects(*) returning "..."

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有隐式参数的调用方法

来自分类Dev

带有参数的方法与不带参数的方法之间的区别?

来自分类Dev

Scala中没有括号的方法调用(带有隐式参数)

来自分类Dev

Scala中没有括号的方法调用(带有隐式参数)

来自分类Dev

声明带有隐式参数的函数类型

来自分类Dev

有状态的隐式参数。安全吗?

来自分类Dev

Scala:通用方法隐式参数

来自分类Dev

覆盖方法并添加隐式参数

来自分类Dev

无法使用Mockito模拟带有参数的静态方法

来自分类Dev

隐式视图参数

来自分类Dev

打字稿:隐式调用带有注入参数的构造函数

来自分类Dev

通过带有不带引号的元素的显式参数指定要分组的多个变量

来自分类Dev

Scala构造带有或不带有参数的对象

来自分类Dev

DRF:带有和不带有参数的路由

来自分类Dev

带有/不带有参数的函数-PHP

来自分类Dev

Scala隐式vs隐式参数

来自分类Dev

Scala隐式参数的隐式转换

来自分类Dev

带有参数的python模拟函数

来自分类Dev

如何模拟带有参数的模块

来自分类Dev

是否可以对不带参数的方法进行条件模拟?

来自分类Dev

是否可以对不带参数的方法进行条件模拟?

来自分类Dev

python是否会将没有cls或self参数的任何方法隐式视为静态?

来自分类Dev

从moq无效方法返回数据,该操作带有不带任何参数的操作来测试功能

来自分类Dev

C#的方法相同,但参数不同:带有ref和不带

来自分类Dev

从参数调用方法(带有任何参数)

来自分类Dev

Scala隐式参数范围

来自分类Dev

函数参数的隐式解析

来自分类Dev

隐式参数和ClassTag

来自分类Dev

隐式对的模板参数推导