我使用Microsoft.VisualStudio.TestTools.UnitTesting
;
0.GetType()
实际上是System.RuntimeType
,那么我需要编写什么样的测试才能通过Assert.IsInstanceOfType(0.GetType(), typeof(int))
?
---跟进,这是我自己的用户错误... Assert.IsInstanceOfType(0, typeof(int))
答案 0 :(得分:74)
将通话更改为以下
Assert.IsInstanceOfType(0, typeof(int));
第一个参数是被测对象,而不是被测对象的类型。通过传递0.GetType(),你说的是“RunTimeType”一个System.int的实例,它是假的。在封面下,这些电话只是解决了
if (typeof(int).IsInstanceOfType(0))
答案 1 :(得分:18)
看起来应该是
Assert.IsInstanceOfType(0, typeof(int))
您的表达式当前正在评估RunTimeType是否是RunTimeType的实例,而不是。