gpt4 book ai didi

scala - 如何在spec2中使用mockito定义自定义参数匹配器?

转载 作者:行者123 更新时间:2023-12-04 13:49:46 25 4
gpt4 key购买 nike

我想验证业务逻辑是否通过预期user反对 dao,但我不知道如何为它编写自定义参数匹配器。

"user" should {
"be saved" in {
val dao = new UserDao()
dao.save(any[User]) returns mock[User]

runMyBusinessLogic();

val expectedUser = new User("Freewind", 123.23234)
there was one(dao).save(mymatcher(expectedUser));
}
}
User类(class):
case class User(name:String, random: Double)

其中包含一个 double领域,我需要为它做一些特殊的比较。
mymatcher是我要定义的匹配器:
def mymatcher(expected: User) = ??? {
// compare `name` and `random`
}

但我不知道如何在 spec2 ,并且找不到任何有用的文档。有帮助吗?

最佳答案

我使用 beLike 匹配器。像这样:

one(daoMock).insert { beLike[MyEntity] { case t:Entity => {
t.summary mustEqual "Summary"
t.description mustEqual "Description"
}}}

在 beLike 匹配器中,您可以使用普通的值匹配器。

关于scala - 如何在spec2中使用mockito定义自定义参数匹配器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22779508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com