gpt4 book ai didi

mockito - 我可以在 mockito 参数中混合一个匹配器和 1 个精确值吗

转载 作者:行者123 更新时间:2023-12-05 03:50:17 29 4
gpt4 key购买 nike

如果我像这样创建一个模拟

when(servicesTestEnv.mockUserProfileAndPortfolioTransactionRepository.get(servicesTestEnv.mockDistributedTransaction,ArgumentMatchers.any[ExternalUserProfileKeys]))
.thenReturn(Right(servicesTestEnv.externalUserProfile))

我收到错误

参数匹配器的使用无效!预计 2 个匹配器,记录 1 个:-> at UnitSpecs.ServiceSpecs.UserTransactionDatabaseServiceSpecs.$anonfun$new$17(UserTransactionDatabaseServiceSpecs.scala:170)

但是如果我用值替换两者

when(servicesTestEnv.mockUserProfileAndPortfolioTransactionRepository.get(servicesTestEnv.mockDistributedTransaction,keys))
.thenReturn(Right(servicesTestEnv.externalUserProfile))

when(servicesTestEnv.mockUserProfileAndPortfolioTransactionRepository.get(ArgumentMatchers.any[DistributedTransaction],ArgumentMatchers.any[ExternalUserProfileKeys]))
.thenReturn(Right(servicesTestEnv.externalUserProfile))

然后我没有得到错误

这是 Mockito 中所有参数都需要匹配器或值的规则吗?

最佳答案

Mockito 目前不支持混合匹配器和原始值,并且必须以一种方式(匹配器)或另一种方式(具体值)完全完成模拟,就像您在问题中所展示的那样。

a discussion on Mockito GitHub page关于混合参数 mock ,但它已经死了两年了。

关于mockito - 我可以在 mockito 参数中混合一个匹配器和 1 个精确值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63481301/

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