이 함수에 대한 테스트 설정이 이미 있지만 가장 좋은 방법인지 알고 싶습니다. 나는이 같은 방법이 있습니다열거 형을 사용하는 메서드를 테스트하는 방법
public static string RunTableInfoCommand(IMapinfoWrapper wrapper,
TableInfoEnum infoToReturn)
{
//pass the int value of infoToReturn to underlying COM object eg wrapper.
}
TableInfoEnum이 (단축 버전)과 같다 : 나는 COM 개체로 열거를 통과하면
public enum TableInfoEnum
{
TAB_INFO_NAME = 1,
TAB_INFO_NUM = 2,
TAB_INFO_TYPE = 3,
TAB_INFO_NCOLS = 4,
TAB_INFO_MAPPABLE = 5,
TAB_INFO_READONLY = 6,
TAB_INFO_TEMP = 7
}
그것을 열거에 따라 서로 다른 문자열 결과를 반환합니다 값. 예를 들어
TAB_INFO_NAME = "Water_Mains"
TAB_INFO_NUM = "1"
COM 개체는 항상 열거 값에 따라 단지 다른 값 문자열을 반환합니다. 당신이 테스트 어떻게, 내가 뭔가를 놓친 것 같은
public void RunTableInfoCommandPassingTableNumberShouldReturnExpectedName()
{
string ExpectedCommand = "TableInfo(1,{0})".FormatWith((int)TableInfoEnum.TAB_INFO_NAME);
mockmapinfo.Expect(m => m.Evaluate(ExpectedCommand))
.Returns("Water_Mains");
string name = Table.RunTableInfoCommand(mockmapinfo.Object,
1,
TableInfoEnum.TAB_INFO_NAME);
Assert.AreEqual("Water_Mains", name);
}
그것은하지만 난 그냥 작업 기분이 :
어떻게 지금까지 내가 이런 시험이, 내 RunTableInfoCommand가 제대로 작동하는지 테스트 것 모든 다른 enum 유형.
다음과 같은 37 개의 열거 형 값이 있습니다. ( –
그런 다음 조롱 한 COM 개체로 Map을 사용하십시오. – moffdub