有没有办法断言变量是否属于某种类型?
如:
AssertIsBoolean(variable);
答案 0 :(得分:7)
您是否真的试图断言变量属于特定类型,或者变量的值属于特定类型?
第一个不应该是单元测试的一部分 - 它是声明代码的一部分。这就像尝试单元测试一样,你不能用错误的参数类型调用方法。
第二个可以通过
轻松完成Assert.IsTrue(value is bool);
(假设value
是object
类型的变量或接口。)
请注意,这将测试兼容性而不是确切的类型。如果要测试某个值是确切类型而不是子类型,则可以使用以下内容:
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
(当然,在您使用的任何单元测试框架中,可能有通用方法可用的选项。)
答案 1 :(得分:1)
if(myValue is Boolean)
{
}
答案 2 :(得分:0)
Assert.IsTrue(variable is bool, "variable was not a Boolean Value");
答案 3 :(得分:0)
您没有指定您使用的测试框架。所以我想提一下,Gallio/MbUnit测试框架为此目的提供了一个方便的断言:
Assert.IsInstanceOfType<bool>(myValue);