单元测试Enum Translator的最佳实践

时间:2012-06-05 13:40:06

标签: c# unit-testing tdd

对这些方法进行单元测试的最佳做法是什么?

public VerificationResultCode Translate(int value)
    {
        VerificationResultCode result;

        if (Enum.IsDefined(typeof(VerificationResultCode), (int)value))
            result = (VerificationResultCode)((int)value);
        else
            throw new UnknownResultReturnFromGatewayException();

        return result;
    }

VerificationResultCode是Enum Type,如:

public enum VerificationResultCode 
{
        BankingNetworkError = 100,
        NotEqual =101,
        InputFormatError = 102,
        MerchantAuthenticationFailed = 103,

...
}

我们应该为每个Enum成员编写一个单独的测试方法,或者只写一个包含大量断言的 One 测试方法?!

1 个答案:

答案 0 :(得分:2)

代码对于单元测试来说几乎是微不足道的。您应该对依赖VerificationResultCode的行为进行单元测试,Translate也将测试{{1}}函数。一个更大的问题是为什么需要公共翻译功能而不是将其封装在对象中?