2011-02-01 5 views
4

내가 (mockedObject 함수에 주입 그래서 그것을 조롱 수 있습니다) 다음과 같습니다 빌더 스타일 패턴 테스트 장치에 노력하고있어 :테스트 빌더 패턴

Thing thing = 
    mockedObject.createThing() 
    .addParam1() 
    .addParam2(mockedObject.createParam2() 
        .someData() 
        .build()) 
    .build(); 

mockedObject.use(thing); 

내가 해결하기 위해 노력하고있어를 빌더 객체 전체를 조롱 할 필요없이 이것을 테스트하는 방법 (JUnit과 Easymock 사용). 결과 객체에서 테스트해야하는 것은 param1param2이 특정 값으로 설정되어 있다는 것입니다.

전체 빌더 패턴을 조롱하면 테스트가 매우 취약 해지기 때문에 테스트를 시작해야합니다.

이것을 테스트하는 (더 좋은) 방법이 있습니까?

답변

0

전체 빌더 객체를 조롱하지 않고 JUnit 및 Easymock을 사용하여이를 테스트하는 방법을 알아 내려고합니다. 결과 객체에서 테스트해야하는 것은 param1과 param2가 특정 값으로 설정된다는 것입니다.

전체 빌더 패턴 을 도발하는 것은 만드는 것이 시험 매우 취성과 내가 함께 시작 을 테스트해야하지 무슨.

정확히 어떤 행동이 입니까? 여기 테스트 하시겠습니까? 빌더가 객체를 올바르게 빌드하는지 테스트중인 경우 빌더는 조롱해야하는 것이 아닙니다.

아마도 테스트중인 메소드와 더 완벽한 테스트 코드를 게시하면 문제가 더 명확 해지 겠지만, 지금은 테스트와 전혀 다른 모양입니다.

+0

특정 속성이 설정된 객체로 mockedObject.use()가 호출되는지 테스트하려고합니다. 불행히도, mockedObject는 빌더이기도합니다. 필자는 이미 빌더에 대한 테스트를 실시하고 있는데,이 기능에 특정 속성이 설정되어 있다는 것이 걱정됩니다. – laurencer

+0

불행히도 mockedObject는 빌더이기도합니다 ... 왜죠? 빌더는 빌더 일 뿐이고,이 use() 메소드는 다른 곳에 속한 것처럼 보입니다. –