상태 저장 테스트를 위해 Scalacheck documentation에서 ATM maschine은 유스 케이스로 언급됩니다. 작동하려면 명령에 매개 변수 (예 : PIN 또는 인출 금액)가 필요합니다. 주어진 예제에서 클래스 Counter
의 메소드에는 매개 변수가 없습니다. 명령의Scalacheck - 명령에 매개 변수 추가
class Counter {
private var n = 0
def inc(i: Int) = n += i
...
}
run
및 nextState
방법 매개 변수를 제공하지 않습니다 :
Sut
에 매개 변수를 전달하는 방법이
case object Inc extends UnitCommand {
def run(sut: Sut): Unit = sut.inc(Random.nextInt)
def nextState(state: State): State = state + Random.nextInt
...
}
있습니까 : run
및 nextState
의 값이 다를 것이며, 테스트가 실패하기 때문에하는 Random.nextInt
작동하지 않을 추가? 어떻게 genCommand
에서 알 수있는 바와 같이
고맙습니다.이 솔루션은 내가 찾던 해결책처럼 보입니다! – amuttsch