2014-02-13 4 views
1

저는 단위 테스트를 처음 접했습니다. 최근에 한 가지만 수행하는 메서드를 테스트하는 문제가 발생했습니다.이 메서드는 클래스의 일부인 개체의 메서드를 호출합니다. 이 객체가 나타내는 클래스는 자체 단위 테스트를 가지고 있습니다.다른 클래스의 메소드를 호출하는 메소드를 테스트하는 방법은 무엇입니까?

나는이 method may change in time을 이해하며, 시험이 끝나면 예상 결과가 나왔는지 알려줄 것입니다. 그런 방법으로 무엇을 테스트 할 수 있습니까?

내 코드 : 당신이 기본이되는 객체에 대한 호출을 포착하고 검사 (또는 적어도 호출이되었는지 확인) 할 필요가 같은

public class MyClassToBeTested 
{ 
    private CustomType myObject; 

    private const myParameter = 2; 
    (...) 
    public string MyProperty 
    { 
     get 
     { 
      return myObject.DoYourStuff(myParameter); 
     } 
    } 
} 
+0

코드를 표시하십시오. –

답변

1

이 들린다. mock이 개체를 참조하고 그것에 대한 참조를 삽입합니다 (Inversion of Control).

개체를 주입하면 배포 할 때 실제 개체를 제공하고 테스트 중에 모의 개체를 제공 할 수 있습니다.

0

뭔가 다른 것에 의존하는 경우. 즉 메서드가 다른 메서드를 호출하면 모의하거나 모방해야합니다.

+0

나도 알아,하지만이 상황에서 (나는 코드 예제를 추가했다) 나는 그 메소드를 호출하여 그 결과를 얻고 자동적으로 리턴한다. 테스트 결과를 더 이상 필요로하지 않으므로 조롱이 나를 도울 것이라고 생각하지 않습니다 ... –

+1

그래서 테스트의 목적은 무엇입니까? TDD 세계에서는 모든 것을 테스트해야합니다. – carousel

+0

우리 팀은 단위 테스트에서 코드 커버리지를 평가했으며 최근에 언급 된 링크에서 속성을 변경하는 경우를 대비하여 테스트해야한다고 생각했습니다. 나는 그 시험이 무엇을 증명할 지 모르기 때문에 문제가있다. –

관련 문제