함수를 테스트하려고하는데, 테스트하고있는 함수가 스텁하고자하는 traits 함수를 호출합니다. ScalaMock을 사용하여이 함수를 스텁 (stub)하는 것처럼 보이지 않습니다. 객체를 모의 할 수 없기 때문입니다. ScalaMock 개체의 상속 된 특성 ScalaTest
trait[A<:CommonReturn] commonTrait[A] {
def commonFunction(s:String):(String,String) = {
("Hello","World")
}
def testMe(s:String) : A
}
이 특성
다음 여러 객체 각각 commonTrait을 구현하는 일반적인 수익의 특정 하위 유형을 반환하여 확장됩니다.object ob extends commonTrait[ConcreteType] {
override def testMe(s:String){
val(x,y) = commonFunction(s)
val z = "unique logic"
ConcreteType(x,y,z)
}
}
나는 그러므로 지금 그러나 나는 그러므로 commonFunction 스텁 수없는, 산부인과 개체를 모의 할 수없는 것 ob.testMe 테스트하기 위해 노력하고 있습니다.
내 아키텍처 때문입니까? 아니면 scalamock으로 객체를 조롱하고 scalatest를 사용할 수 있습니까?
val mocked = mock[ob]
(mocked.commonFunction _).expect(*).returning("test","test")
이것은 컴파일되지 않습니다.
commonFunction이 예제의 testMe 외부에 있으면 동일한 문제가 발생합니까? – Barry