问题标签 [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.

0 投票
1 回答
239 浏览

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 上使用。我究竟做错了什么; 如何存根返回计算答案的方法?

谢谢

0 投票
0 回答
199 浏览

scala - mockito-scala 验证方法调用

我在 mockito-scala 上提出了一个假问题:https ://github.com/mockito/mockito-scala/issues/191 但我仍然坚持我的问​​题。

所以基本上,我对一种方法给出了答案。我确信使用正确的参数执行存根方法(在其中输入调试模式):

然后我进行了非常广泛的验证:mocked.method(*, *, *) wasCalled atLeastOnce但我的测试失败了:

编辑1:mock[Service]和测试对象之间有一个类。这可能是这个问题的原因吗?

0 投票
1 回答
194 浏览

scala - 如何在 Scalatest 中将 MockitoSugar 与 AsyncFunSuite 一起使用?

我无法MockitoSugarAsyncFunSuite. 简而言之:

此示例有效(取自Scalatest 文档

但是这个例子没有(因为它有MockitoSugar

两者都编译,但后者报告了零测试,而前者则正确报告了一个测试。这发生在 IntelliJ 和 sbt 上。为什么这不起作用?我该如何解决这个问题?

我在用着:

  • 斯卡拉 2.12
  • scalatest 3.1.1
  • 模拟核心 3.3.3
  • mockito-scala 1.13.10
0 投票
0 回答
46 浏览

scala - 如何在 mockito-scala 中指定超时后模拟没有交互?

我找不到一个很好的 Scala DSL 方法来指定在指定的持续时间后根本不调用模拟。

就像是

该文档也没有提及任何事情。 https://github.com/mockito/mockito-scala

更新:见https://github.com/mockito/mockito-scala/issues/253

0 投票
1 回答
405 浏览

scala - 将 argThat 包装在命名函数中

假设我有这样的事情(非常简单):

这行得通。但是,断言本身有点复杂,可以使其更具可读性。
我试过这个:

整洁多了!但不起作用:/

知道怎么做吗?

0 投票
0 回答
60 浏览

scala - 使用 Mockito 时类型参数的参数匹配器

我试图找出是否可以将any参数匹配器之类的东西用于具有类型参数的方法:

使用上述代码段运行代码时,出现此错误:

我猜这是因为我向该方法传递了一个确切的类型Product参数getItems

当我传入一个实际FilterParams对象时,这确实有效:

是否有任何参数匹配器可用于类型参数?还是违反直觉,因为每当我们使用类型参数调用函数时,我们必须传递类型参数?

编辑:

Product这不是 Scala 的内置Product特性。

方法的函数签名getItems

0 投票
1 回答
117 浏览

asynchronous - 使用 scalatest 进行异步测试和使用 mockito 模拟对象的模式

我正在为我的代码的一些异步部分(返回Futures)编写单元测试,这也涉及到模拟 Scala 对象的需要。按照这些文档,我可以成功地模拟对象的功能。我的问题源于return ,其中 scalatest 中的异步测试需要withObjectMocked[FooObject.type]返回or 。为了解决这个问题,我在我的测试中创建了 s,我在发送到的函数中重新分配,最终看起来像这样:UnitAssertionFuture[Assertion]varwithObjectMocked[FooObject.type]

那么我的问题是,是否有更好/更干净/更惯用的方法来编写模拟对象的异步测试,而无需跳过这一圈?出于某种原因,我认为使用AsyncMockitoSugar而不是MockitoSugar会为我解决这个问题,但withObjectMocked仍然返回Unit。这可能是一个错误和/或功能请求的候选者(withObjectMocked返回功能块值的异步版本,而不是Unit)?还是我错过了如何完成此类任务?

0 投票
0 回答
21 浏览

mockito - Mockito with scalatest:模拟多个调用的方法

我正在尝试使用 mockito 在 scalatest 中模拟一个对象。我必须多次模拟一个方法。在java中这样的工作:

但在 scala 中同样给了我错误:

为什么会出现这种行为差异?以及如何让它以最大规模的方式工作?