Test Case 작성시 같은 메소드 N번 호출 다른 결과 리턴하기
같은 메소드를 여러번 호출 하고, 다른 결과를 원할때가있다.
aClass.aClassMethod 를 loop로 총 3번 호출해야 할때,
2번 호출은 리턴이 null
그 후 한번은 리턴이 다른 값이어야 할때가 있음
SPOCK은 then 구문에 적어야 한다. (given 구문이라도 then에 적어야 함.)
def "끝자리가 일치"() {
given:
condition.test = "test"
when:
def result = test메소드 호출
then:
2 *aClass.aClassMethod(_) >> null // 2번 호출할때는 리턴이 null
then:
1 * aClass.aClassMethod(_) >> 원하는 다른 값 // 3번째 호출할때는 원하는 값을 받을 수 있다.
then:
result
}
JUNIT 은 순서대로 적어주면 된다.
when(aClass.aClassMethodanyString())).thenReturn(null, null, 원하는다른 값);