我需要为下一个函数编写一个单元测试,我看到我可以使用[ExpectedException]
这是要测试的功能.
public static T FailIfEnumIsNotDefined(this T enumValue, string message = null) where T:struct { var enumType = typeof (T); if (!enumType.IsEnum) { throw new ArgumentOutOfRangeException(string.Format("Type {0} is not an Enum, therefore it cannot be checked if it is Defined not have defined.", enumType.FullName)); } else if (!Enum.IsDefined(enumType, enumValue)) { throw new ArgumentOutOfRangeException(string.Format("{1} Value {0} is not does not have defined value in Enum of type {0}. It should not be...", enumType.FullName, message ?? "")); } return enumValue; }
这里将使用代码来测试应该抛出的异常
[TestMethod] [ExpectedException(ArgumentOutOfRangeException(ArgumentException), "message")] public void FailIfEnumIsNotDefined_Check_That_The_Value_Is_Not_Enum() { // PREPARE // EXECUTE // ASSERT }
我也不知道要为例外做出断言.