46

我对单元测试有点陌生,使用Microsoft.VisualStudio.TestTools.UnitTesting;

0.GetType()实际上是System.RuntimeType,所以我需要写什么样的测试才能通过Assert.IsInstanceOfType(0.GetType(), typeof(int))

---跟进,这是我自己的用户错误......Assert.IsInstanceOfType(0, typeof(int))

4

2 回答 2

80

将调用更改为以下内容

Assert.IsInstanceOfType(0, typeof(int));

第一个参数是被测试的对象,而不是被测试对象的类型。通过传递 0.GetType(),您说的是“RunTimeType”是 System.int 的一个实例,它是错误的。在幕后,他们的电话只是解决

if (typeof(int).IsInstanceOfType(0))
于 2009-03-26T16:42:01.283 回答
19

看起来应该是

Assert.IsInstanceOfType(0, typeof(int))

您的表达式当前正在评估 RunTimeType 是否是 RunTimeType 的一个实例,但它不是。

于 2009-03-26T16:42:02.877 回答