Вы действительно пытаетесь утверждать, что переменная имеет определенный тип или что значение переменной имеет определенный тип?
Первый не должен быть частью модульного теста - это часть объявленного кода. Это все равно что пытаться выполнить модульное тестирование, когда нельзя вызывать метод с неправильными типами аргументов.
Второе можно легко сделать с помощью
Assert.IsTrue(value is bool);
(Предполагается, что value
- это переменная типа object
или интерфейс.)
Обратите внимание, что это будет проверять совместимость , а не точный тип. Если вы хотите проверить, что значение является точным типом, а не подтипом, вы можете использовать что-то вроде:
Assert.AreEqual(typeof(ArgumentException), ex.GetType());
(Конечно, для универсальных методов, которые вы используете, могут быть доступны опции для универсальных методов.)