模拟Scala对象的成员
我正在使用scalatest,在我的测试文件中,我不导入此包,我只导入:模拟Scala对象的成员,scala,mocking,scalatest,Scala,Mocking,Scalatest,我正在使用scalatest,在我的测试文件中,我不导入此包,我只导入: package com.project.dir object A { var m = scala.collection.mutable.Map[String, String]() } class AB { val a = "hello" def function_A(): Unit = { import A._ // Code that uses member m of A } }
package com.project.dir
object A {
var m = scala.collection.mutable.Map[String, String]()
}
class AB {
val a = "hello"
def function_A(): Unit = {
import A._
// Code that uses member m of A
}
}
object AB {
val ab = new AB
ab.function_A()
}
这允许我访问AB类的成员a和函数a,但我希望能够模拟对象a中的var m
我尝试过:
val m = mock[com.project.dir.AB]
但这会返回以下错误:
val m = mock[com.project.dir.A]
在另一个文件中,我导入com.project.dir.A,我可以调用A.m我认为scalatest mock不能模拟对象。也许你应该试试Mockito。@user1077071你在用什么样的模拟框架?@GabrielePetronella我在用Scalatest和FunSuite,MockitoSugar,以及之前和之后可能的复制
type A is not a member of package com.project.dir.A