Подтвердить что ты не робот

Почему 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))

4b9b3361

Ответ 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, чего нет.