2011-12-13 6 views
2

몇 가지 큰 응용 프로그램 기능을 검사하는 도구를 만들고 있습니다. 대형 응용 프로그램에 대한 모든 호출은 WCF를 사용하여 이루어 지므로 응용 프로그램이 너무 커서 Mock을 만들 수 없습니다. 다시 도구로 작성하거나 기능을 확장하면서 기능을 중단하지 않도록 도구에 대한 단위 테스트를 만들고 싶습니다.WCF 호출 단위 테스트가 가능하고 어떻게 가능합니까?

가능한가요?

+0

왜 앱이 모의을 만들 큰에게 말할 수 있습니까? 모의 의사 사용을 허락하지 않는 디자인 문제가 있습니까? –

+0

@Sebastian Piu, yep – eugeneK

+0

나는 먼저 그것에 초점을 맞추고 점진적으로 단위 테스트를 만들어야한다고 생각합니다. 그냥 원격 호출을 기다릴 필요가 있고, 테스트 케이스를 성공적으로 수행하려면 DB에 데이터가 필요하다는 것입니다. –

답변

1

정상적인 의미의 단위 테스트는 아니지만보다 자동화 된 회귀 테스트와 유사합니다.

  • 데이터베이스 밖으로 WCF 호출을
  • 읽기 데이터를 확인 데이터베이스에

    1. 쓰기 예상 시험 데이터와 당신이
    2. 가 재설정 기대의 주장 : 일반적인 시험 방법은 다음을 포함 할 수 있습니다 필요한 경우 데이터베이스

    이 권리를 얻으려면 많은주의가 필요하지만 작동합니다.

  • 0

    "응용 프로그램이 너무 커서 모의를 만들 수 없습니다."라는 경고 문구가 나타납니다. 가혹한 것처럼 들리지는 않겠지 만 애플리케이션 로직을 더 작은 유닛으로 테스트 할 수있는 부분으로 나눌 수 없다면 애플리케이션 아키텍처에 문제가있는 것입니다.

    저는 Moq를 사용하여 WCF로 구동되는 Silverlight ViewModels의 단위 테스트를 훌륭하게 수행했습니다. ASP.Net/MVC에도 적용 할 수있는 개념.

    +0

    "Big Application"은 다시 호출 할 수 없습니다. 디자인. – eugeneK

    +0

    하지만 리팩토링 할 것입니다. 리펙토링으로도 testable으로 만드는 것을 고려하십시오. –

    +0

    도구를 사용하여 응용 프로그램을 다시 팩터 화하지 않을 것입니다. – eugeneK

    0

    나는 서비스 뒤에있는 클래스를 테스트하거나 서비스 자체를 기능적으로 테스트하는지 여부에 달려 있다고 생각한다.

    WCF 서비스의 기능 테스트를 위해 WCF Storm을 사용합니다. WCF Storm은 약간의 폴란드 식으로 할 수 있지만 훌륭하게 작동합니다. 성능 테스트는 물론 기능 테스트를 구축하고 실행할 수 있습니다. 매우 유용한 작은 도구.

    http://www.wcfstorm.com/

    관련 문제