Sta*_*lin 2 scala mocking traits
是否有任何库提供用于模拟具有特征的类的工具(两者都可以是有状态的)?
简化示例:
trait T {
var xx: List[Int] = List[Int]()
def t(x: Int) {
xx ::= x //throws NPE, xx == null, even after implicit initialization
}
}
class A extends T {
}
class Testable(a: A) {
def bar() {
a.t(2)
}
}
@Test def testFoo() {
val a: A = mock[A]
val testable = new Testable(a)
testable.bar()
verify(a).t(2)
}
Run Code Online (Sandbox Code Playgroud)
Paul Butcher一直在研究Scala模拟库Borachio.它支持模拟特征,类,函数和对象.有关更多信息,请参阅以下博客:
http://www.paulbutcher.com/2011/02/announcing-borachio-native-scala-mocking/ http://www.paulbutcher.com/2011/07/power-mocking-in-scala-with-borachio/