2010-12-16 3 views
0

나는 TDD의 그루브에 빠지려고 노력 중이며 노출 된 API에서받은 XML을 파싱하는 전체 클래스 라이브러리 프로젝트를 리팩토링하기로 결정했습니다.XML을 수신하고 파싱하는 라이브러리를 테스트 할 때 어떤 테스트를해야합니까?

이제는 어떤 테스트를 받아야 할 지 궁금합니다.

내가해야 할 몇 가지 테스트를 추천 할 수 있습니까? 그리고 미래의 기본 규칙에 대한 테스트가 필요한지 식별 할 수 있습니까?

감사합니다!

using NUnit.Framework; 

namespace SharpDIC.Tests 
{ 
    [TestFixture] 
    class MemberTests 
    { 
     [Test] 
     public void Member_Should_Have_Required_Information() 
     { 

     } 
    } 
} 
+0

xml 파싱 라이브러리의 공용 인터페이스를 공유 할 수 있습니까? –

+0

@Sergio : 나는 약간 혼란 스럽다. TDD를 사용하여 새로운 XML 파싱 라이브러리를 작성 하시겠습니까? 아니면 리팩토링 할 수 있도록 기존 라이브러리의 단위 테스트를 작성 하시겠습니까? 명확히하십시오. –

답변

0

나는 보통 객체를 만드는 테스트부터 시작합니다. 이것은 공 굴리기를 가져오고 의존성에 대해 생각하게 만듭니다. 그런 다음 코드를 사용하여 수행 할 수있는 가장 간단한 작업에 대해 생각해보십시오. 어쩌면 그것은 빈 문자열을 파싱하고 아무것도하지 않고 (또는 예외를 던지면서). 그것은 유효하고 가치있는 테스트입니다. 이제는 아무 것도하지 않는 스켈레톤이 생겨 났고 테스트 기능을 추가하는 기능은 기존 기능 목록이 있기 때문에 너무 어려워서는 안됩니다.

0

각 테스트가 이미 구현 된 코드의 기존 동작을 나타내는 단위 테스트를 작성해야합니다. 하나의 추가 사항은 리팩터링을 시작하기 전에 xml 파싱 라이브러리의 코드 적용 범위를 100 % 가질 수 있습니다. 나는 XML 라이브러리의 공개 인터페이스를 보지 않고도 많은 의견을 말할 수 없었다. 보조 노트에

,

단위 테스트는 리팩토링 동안 수행 어떤 breacking 기능 변경을 잡는 데 도움이 안전망 역할을합니다. 단위 테스트를 통해 리팩토링을 수행 할 수 있습니다.

관련 문제