2
class MyClassWithVals(val a: String, val b: String, val c: String) {}

我可以用 ScalaMock 模拟这个吗:

val mock = stub[MyClassWithVals]
//when mock.a expect "The value of a"

我想模拟这个而不是仅仅创建一个填充了值的 MyClassWithVals 实例的原因是我有一个包含 10 个或更多参数的类,我只想定义其中一两个参数的行为以进行测试。

如果不使用 ScalaMock,是否有另一个库可以直接使用,或者使用 Scala 类 vals 可以做什么有限制?

4

1 回答 1

0

我通过创建另一个扩展 MyClassWithVals 的仅测试类来解决问题:

class MyClassWithValsStub(
  override val a: String = null,
  override val b: String = null,
  override val c: String = null
) extends MyClassWithVals(
  a,
  b,
  c
) {}

使用这个额外的类,我可以在我的测试用例中说:

var myStub = new MyClassWithValsStub(b = "Test B")
于 2016-11-13T10:49:19.713 回答