如何在Mockito和Scala中使用隐式匹配器对方法调用进行存根

编程入门 行业动态 更新时间:2024-10-21 16:00:49
本文介绍了如何在Mockito和Scala中使用隐式匹配器对方法调用进行存根的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的应用程序代码使用AService

My application code uses AService

trait AService { def registerNewUser (username: String)(implicit tenant: Tenant): Future[Response] }

注册一个新用户.租户类是一个简单的案例类:

to register a new user. Class Tenant is a simple case class:

case class Tenant(val vstNumber:String, val divisionNumber:String)

特质AServiceMock通过模拟AService的版本来模仿注册逻辑

Trait AServiceMock mimics the registration logic by using a mocked version of AService

trait AServiceMock { def registrationService = { val service = mock[AService] service.registerNewUser(anyString) returns Future(fixedResponse) service } }

现在,每当在AService上调用registerNewUser时,响应将为"fixedResponse"(在其他地方定义).

Iow whenever registerNewUser is called on AService the response will be "fixedResponse" (defined elsewhere).

我的问题是,如何将隐式租户参数定义为类似于anyString的模拟匹配器?

My question is, how do I define the implicit tenant-parameter as a mockito matcher like anyString?

顺便说一句.我正在将Mockito与Specs2(和Play2)配合使用

btw. I'm using Mockito with Specs2 (and Play2)

推荐答案

有时您必须先在SO上发布,才能得出完全显而易见的答案(duhh):

Sometimes you have to post on SO first to come up with the completely obvious answer (duhh):

service.registerNewUser(anyString)(any[Tenant]) returns Future(fixedResponse)

更多推荐

如何在Mockito和Scala中使用隐式匹配器对方法调用进行存根

本文发布于:2023-10-31 04:47:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1545051.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:存根   方法   隐式   如何在   Scala

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!