trait Name extends Helper {
def name() = {
var s = getSystem()
s.name()
}
}
을 테스트하기 위해 노력하고 그 "s.name()"메서드는 인스턴스를 조롱 한 번 호출 s의 시스템입니다.
도우미 그래서 다음과 같이 정의된다
trait Helper {
def getSystem() : System = {
systemGetter.get()
}
}
은 지금부터, 내 NameSpec는 다음과 같은 :
내가 toTest에서 모의 시스템을 반환하는 방법입니다에 대해 혼란 스러워요 무엇class NameSpec extends FlatSpec with Matchers with MockitoSugar {
class NameImpl extends Name
var toTest = new NameImpl
val mockSystem = mock[System]
it should "call s.name() once" in {
when(getSystem() is invoked, return a mockSystem)
toTest.name()
// Verify that mockSystem.name() happened only once
}
}
. getSystem()을 호출 할 때 name()을 호출하여 시스템이 s.name()을 한 번만 호출하는지 확인할 수 있습니다. Name 특성의 name() 메서드에 대한 매개 변수 인 경우이 시스템을 쉽게 모의 할 수 있으므로 실제 시스템 대신 실제 시스템 대신 "mockSystem"을 "주입"하는 방법을 모르겠습니다.