【发布时间】:2021-07-16 17:36:43
【问题描述】:
使用 Mockito 和其他测试框架,通常有一些方法可以模拟测试类中方法的功能。我似乎无法让 ScalaMock 接受同样的方式。
class A {
def methodUnderTest()
def methodUsedInMethodUnderTest()
}
那么在测试课上我是:
(A.methodUsedInMethodUnderTest _)
.expects.....
a.methodUnderTest shouldEqual ..
我知道,如果您在模拟/存根类,然后在真实实例上调用相同的功能,这将不起作用。但是有一些解决方法可以通过对两个调用等使用模拟来实现。
如果这是错误的方法,那么在同一测试类中测试使用其他方法的方法的最佳方法是什么?我认为将方法解耦是最佳实践。
谢谢!
【问题讨论】:
-
标准方法有什么问题 - 创建类型 A 的模拟实例和模拟方法UsedInMethodUnderTest?
-
我不明白您要解决哪个问题。
-
@Ava Yeap,所以尝试过,似乎 ScalaMock 框架无法做到这一点。
-
@Jasper-M 基本上我试图模拟一个在我试图测试的方法中使用的方法。但通常像 Ava 建议的解决方法似乎无法通过 ScalaMock 实现,并且很好奇是否有办法做到这一点。
标签: scala unit-testing scalamock