断言类型.NET
有没有一种方法可以断言变量是否属于某一类型 例如:断言类型.NET,.net,unit-testing,mstest,assert,.net,Unit Testing,Mstest,Assert,有没有一种方法可以断言变量是否属于某一类型 例如: AssertIsBoolean(variable); 您是否真的试图断言某个变量是特定类型的,或者某个变量的值是特定类型的 第一个不应该是单元测试的一部分——它是声明代码的一部分。这就像试图进行单元测试,不能用错误的参数类型调用方法 第二种方法可以很容易地用 Assert.IsTrue(value is bool); (假设value是object类型的变量或接口。) 请注意,这将测试兼容性,而不是确切的类型。如果要测试某个值是否为精确类型
AssertIsBoolean(variable);
您是否真的试图断言某个变量是特定类型的,或者某个变量的值是特定类型的 第一个不应该是单元测试的一部分——它是声明代码的一部分。这就像试图进行单元测试,不能用错误的参数类型调用方法 第二种方法可以很容易地用
Assert.IsTrue(value is bool);
(假设value
是object
类型的变量或接口。)
请注意,这将测试兼容性,而不是确切的类型。如果要测试某个值是否为精确类型,而不是子类型,可以使用以下方法:
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
(当然,在您使用的任何单元测试框架中,通用方法都有可用的选项。)您没有指定您使用的测试框架。因此,我想指出,测试框架为此目的提供了一个方便的断言:
Assert.IsInstanceOfType<bool>(myValue);
Assert.IsInstanceOfType(myValue);
ex.GetType()
。
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
Assert.IsInstanceOfType<bool>(myValue);