2013-08-25 2 views
-1

안녕하세요 저는 단위 테스트에서 새로운 오전 및이 지역화 단위 테스트 메서드를 작성하고 있지만 예상 된 값이 될지 잘 모르겠습니다.단위 테스트에서 예상되는 값은 무엇입니까

public void GetStringResourceTest() 
    { 
     string language = "English"; // TODO: Initialize to an appropriate value 
     string name = "John Smith"; // TODO: Initialize to an appropriate value 
     string expected = language; // TODO:" Initialize to an appropriate value 
     string actual; 
     actual = Localization.GetStringResource(language, name); 
     Assert.AreEqual(expected, actual); 

    } 
: 여기
public override object GetValue(string section, string entry) 
    { 
     VerifyAndAdjustSection(ref section); 
     VerifyAndAdjustEntry(ref entry); 

     try 
     { 
      //XmlDocument doc = GetXmlDocument(); 
      XmlElement root = doc.DocumentElement; 

      XmlNode entryNode = root.SelectSingleNode(GetSectionsPath(section) + "/" + GetEntryPath(entry)); 
      return entryNode.InnerText; 
     } 
     catch { return null; } 
    } 

내 미완성 시험 방법 :

여기
public static string GetStringResource(string language, string name) 
    { 
     Localization cfg = GetInstance(); 
     try 
     { 
      if (cfg != null && cfg._config != null) 
       return cfg._config.GetValue(language, name).ToString(); 
      return string.Empty; 
     } 
     catch { return string.Format("Localization Error: '{0}:{1}' Not Found.", language, name); } 
    } 

은을 getValue 함수이다 : 여기

테스트 할 기능이며
+1

먼저 언어는 무엇입니까? 둘째,이 코드 블록의 동작을 모르는 경우 전체 낯선 사람이 왜 기대할 수 있습니까? 단위 테스트를 작성하는 것은 특정 입력에 대한 테스트 동작에 관한 것입니다. – Makoto

답변

1

단위 테스트를 수행 할 때 주어진 입력 집합에 대해 올바른 결과가 있음을 확인하려고합니다.

이 경우 두 입력이 있습니다 : languagename입니다.

아마도이 두 가지 조합을 고려할 때 예상되는 결과가 있습니다. 개발자는이를 결정하고 올바른지 확인하는 데 필요한 도구 세트가 있어야합니다. 그런 다음 테스트가 작성되면 수동으로 해당 동작을 다시 검증 할 필요가 없습니다!

예를 들어 계산기를 단위 테스트하는 경우 1+1이라는 값을 지정하면 Add 메서드를 테스트 할 수 있으며 결과는 2입니다.

+0

원래의 코드를 작성하지 않았으므로 예상되는 결과가 약간 혼란 스럽습니다. 적어도 내가 찾아야 할 길은 무엇입니까? –

+0

가능한 경우 원래 코드를 작성한 사람과 이야기하십시오. 실패하면 더 많은 것을 알고있는 다른 팀원에게 이야기하십시오. 실패 *, *, 비즈니스 사용자 및/또는 제품 소유자 중 하나에게 이야기하십시오. –

관련 문제