2 가지 방법 (하나는 공개이고 다른 하나는 보호 됨)이있는 서비스 클래스가 있습니다. 내 코드를 단위 테스트하려고합니다. 아래 코드 위의 단위 테스트 코드에서 MyServiceClass.groovy단위 테스트중인 서비스 클래스 내부의 메소드 모의
class MyServiceClass {
public boolean myMethod1() {
// some code
boolean success = myMethod2()
// some code
}
public boolean myMethod2() {
// some logic to return true/false
return true
}
}
MyServiceClassTests.groovy
class MyServiceClassTests {
void testMyMethod1() {
// unit test code
}
}
, 나는 즉 myMethod1()에 의해 호출되는 myMethod2() 반환 결과를 조롱하려는 두 방법은 동일에 단위 테스트중인 서비스 클래스. 그것을 조롱하고 일을 끝내는 방법 ??
왜 그렇게 할 수 없습니까? –
테스트 할 때 "새로운"MyServiceClass()를 인스턴스화하여 테스트 할 "실제"코드를 실행해야하기 때문에. 따라서 동일한 클래스는 모의 객체가 될 수 없습니다. – Brad
은 어떤 클래스로도 메서드를 이동하지 않고도이 iisue를 해결할 수있는 다른 방법입니다 ...? –