问题标签 [mockito-scala]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 使用 mockito-scala 存根多参数方法
我正在尝试使用三个参数对方法进行存根,以返回关于其中一个参数的不同响应:
但是,我的测试因上述消息而失败:
(我不明白“ class scala.util.Either$MockitoMock$854506859 ”这句话)
注意:
- 存根
mocked.complexMethod(*, *, *) returns Left(Nil)
有同样的问题。 - 使用
any[State], any[Discriminant], any[Delegate[MyService]]
而不是*, *, *
不会改变任何东西。
我org.mockito.scalatest.IdiomaticMockito
在 GraalVM 上的 Scala 2.12.8 上使用。我究竟做错了什么; 如何存根返回计算答案的方法?
谢谢
scala - mockito-scala 验证方法调用
我在 mockito-scala 上提出了一个假问题:https ://github.com/mockito/mockito-scala/issues/191 但我仍然坚持我的问题。
所以基本上,我对一种方法给出了答案。我确信使用正确的参数执行存根方法(在其中输入调试模式):
然后我进行了非常广泛的验证:mocked.method(*, *, *) wasCalled atLeastOnce
但我的测试失败了:
编辑1:mock[Service]
和测试对象之间有一个类。这可能是这个问题的原因吗?
scala - 如何在 Scalatest 中将 MockitoSugar 与 AsyncFunSuite 一起使用?
我无法MockitoSugar
与AsyncFunSuite
. 简而言之:
此示例有效(取自Scalatest 文档)
但是这个例子没有(因为它有MockitoSugar
)
两者都编译,但后者报告了零测试,而前者则正确报告了一个测试。这发生在 IntelliJ 和 sbt 上。为什么这不起作用?我该如何解决这个问题?
我在用着:
- 斯卡拉 2.12
- scalatest 3.1.1
- 模拟核心 3.3.3
- mockito-scala 1.13.10
scala - 如何在 mockito-scala 中指定超时后模拟没有交互?
我找不到一个很好的 Scala DSL 方法来指定在指定的持续时间后根本不调用模拟。
就像是
该文档也没有提及任何事情。 https://github.com/mockito/mockito-scala
scala - 将 argThat 包装在命名函数中
假设我有这样的事情(非常简单):
这行得通。但是,断言本身有点复杂,可以使其更具可读性。
我试过这个:
整洁多了!但不起作用:/
知道怎么做吗?
scala - 使用 Mockito 时类型参数的参数匹配器
我试图找出是否可以将any
参数匹配器之类的东西用于具有类型参数的方法:
使用上述代码段运行代码时,出现此错误:
我猜这是因为我向该方法传递了一个确切的类型Product
参数getItems
。
当我传入一个实际FilterParams
对象时,这确实有效:
是否有任何参数匹配器可用于类型参数?还是违反直觉,因为每当我们使用类型参数调用函数时,我们都必须传递类型参数?
编辑:
Product
这不是 Scala 的内置Product
特性。
方法的函数签名getItems
:
asynchronous - 使用 scalatest 进行异步测试和使用 mockito 模拟对象的模式
我正在为我的代码的一些异步部分(返回Future
s)编写单元测试,这也涉及到模拟 Scala 对象的需要。按照这些文档,我可以成功地模拟对象的功能。我的问题源于return ,其中 scalatest 中的异步测试需要withObjectMocked[FooObject.type]
返回or 。为了解决这个问题,我在我的测试中创建了 s,我在发送到的函数中重新分配,最终看起来像这样:Unit
Assertion
Future[Assertion]
var
withObjectMocked[FooObject.type]
那么我的问题是,是否有更好/更干净/更惯用的方法来编写模拟对象的异步测试,而无需跳过这一圈?出于某种原因,我认为使用AsyncMockitoSugar
而不是MockitoSugar
会为我解决这个问题,但withObjectMocked
仍然返回Unit
。这可能是一个错误和/或功能请求的候选者(withObjectMocked
返回功能块值的异步版本,而不是Unit
)?还是我错过了如何完成此类任务?
mockito - Mockito with scalatest:模拟多个调用的方法
我正在尝试使用 mockito 在 scalatest 中模拟一个对象。我必须多次模拟一个方法。在java中这样的工作:
但在 scala 中同样给了我错误:
为什么会出现这种行为差异?以及如何让它以最大规模的方式工作?