2014-11-02 4 views
3

scalatest 및 scalacheck를 사용하여 일반 스택을 테스트하고 싶습니다. 지금까지 나는 이것을 가지고있다 :파라 메트릭 유형의 Scalacheck/Scalatest

"Stack" should "pop the last value pushed" in { 
    check(doPushPop(element)) 
} 

def doPushPop[T](element : T) : Boolean = { 
    val stack = new Stack[T] 
    stack.push(element) 
    stack.pop() == element 
} 

그러나 이것은 분명하게 컴파일되지 않는다. 테스트의 일부로 제네릭 형식을 지정하려면 어떻게합니까?

답변

1

예를 들어 임의의 값을 생성하려는 경우 int :

단일 값으로 테스트하는 대신 푸시/팝 동작 시퀀스를 생성하고 일부 불변성을 확인해야합니다. 스택은 분명히 당신이 그들에 넣은 값에 의존하지 않는다. 그래서 나는 위와 같은 사소한 테스트를하는 것이 거의 의미가 없다고 말할 것이다.

대신 ScalaCheck와 상태 시스템을 테스트하는 방법에 위로 읽어야 : 나는 차이가 몰랐어요

http://www.scalacheck.org/files/scaladays2014/index.html

+0

. 링크를 주셔서 감사합니다 – ConditionRacer

+0

고맙습니다 upvotes로 표현됩니다 그래서 :) –

관련 문제