그래서 내가 좋아하는 무언가를 보이는 클래스가 다음단위 테스트 오버로드 된 함수는 어떻게합니까?
가있는 DbParameter 등 서버, DBNAME, DBTYPE 지금같은 속성이 모두 포함 된 간단한 값 클래스가
public class MyClass
{
DatabaseDependency _depend;
public MyClass(DatabaseDependency depend)
{
_depend = depend;
}
public string DoSomething(DBParameter database)
{
var result = _depend.GetResults(database, ...);
string response = String.Empty;
// some logic to process the result
return response;
}
}
, 내가 추가 할 DBParameter 매개 변수 대신 연결 문자열을 받아들이도록 DoSomething에 과부하 (DatabaseDependency에 이미 연결 문자열을 허용하는 GetResults 오버로드가 있다고 가정).
내 질문 : DatabaseDependency.GetResults의 결과를 처리하는 데 사용되는 다양한 논리 경로를 설명하는 몇 가지 단위 테스트가 있습니다. DoSomething에 과부하를 추가하면 본질적으로 코드를 리팩토링하여 두 오버로드에서이 로직을 재사용 할 수 있습니다 (즉, 아마 개인 메소드로 이동). 이것에 대해 단위 테스트를하는 올바른 방법은 무엇입니까? 내가 추가하고있는 새로운 과부하에 대한 모든 논리 경로를 확인하기 위해 단위 테스트를해야합니다.