Sco*_*ott 8 .net unit-testing assert mstest
有没有办法断言变量是否属于某种类型?
如:
AssertIsBoolean(variable);
Run Code Online (Sandbox Code Playgroud)
您是否真的试图断言变量属于特定类型,或者变量的值是否为特定类型?
第一个不应该是单元测试的一部分 - 它是声明代码的一部分.这就像尝试单元测试一样,你不能用错误的参数类型调用方法.
第二个可以轻松完成
Assert.IsTrue(value is bool);
Run Code Online (Sandbox Code Playgroud)
(假设value是类型object或接口的变量.)
请注意,这将测试兼容性而不是确切类型.如果要测试某个值是确切类型而不是子类型,则可以使用以下内容:
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
Run Code Online (Sandbox Code Playgroud)
(当然,在您使用的任何单元测试框架中,可能有通用方法可用的选项.)