Почему Assert.IsInstanceOfType(0.GetType(), typeof (int)) терпит неудачу?
Я новичок в модульном тестировании, используя Microsoft.VisualStudio.TestTools.UnitTesting
;
0.GetType()
на самом деле System.RuntimeType
, поэтому какой тест мне нужно записать для прохождения Assert.IsInstanceOfType(0.GetType(), typeof(int))
?
--- после этого, это моя собственная ошибка пользователя... Assert.IsInstanceOfType(0, typeof(int))
Ответы
Ответ 1
Измените вызов на следующий
Assert.IsInstanceOfType(0, typeof(int));
Первым параметром является тестируемый объект, а не тип тестируемого объекта. пропуская 0.GetType(), вы говорили, что "RunTimeType" является экземпляром System.int, который является ложным. Под обложками вызов thes разрешает только
if (typeof(int).IsInstanceOfType(0))
Ответ 2
Похоже, что это должно быть
Assert.IsInstanceOfType(0, typeof(int))
Ваше выражение в настоящее время оценивает, является ли RunTimeType экземпляром RunTimeType, чего нет.