3
Spock 테스트에서 소프트웨어의 올바른 경로가 선택되었는지 확인하려고합니다. 그러나 우리는 innerMethod
의 코드를 호출하고 메서드 호출의 호출되기 때문에이 테스트는 항상 실패Spock 테스트, 메서드가 호출되었는지 확인하고 실행하지 않습니다.
def "Test"() {
setup:
service.metaClass.innerMethod = { -> return null }
when:
service.doSomething("[email protected]")
then:
1 * service.innerMethod(*_)
}
(이 별도의 테스트에서 수행된다)라고하는 방법 중 기능을 테스트하고 싶지 않아 innerMethod
에서 계산됩니다 및 방법 innerMethod
| Too few invocations for:
1 * service.innerMethod(*_) (0 invocations)
Unmatched invocations (ordered by similarity):
1 * secondService.doSomething()
의 호출은 어떻게 단지 innerMethod의 호출을받을 수 있으며, 멀리 완성 기능을 조롱하지? 당신은 서비스 자체를 조롱하지 않는 경우
서비스 호출이 동일한 서비스 내에 있기 때문에 첫 번째 방법을 사용하므로 조롱을 당하지 않습니다. –
좋은 소식입니다! –
EXCELLENT 답변! –