我试图断言方法调用返回的对象的类型为List<MyClass>
,所以我使用xUnit尝试了以下操作:
var expected = typeof(List<MyClass>);
var actual = typeof(method());
Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actial);
以上两者都抛出IsTypeException
,但是如果我执行:
var areSameType = expected == actual
areSameType
是true
。那么,到底有什么事情是我无法解释的吗?
文档:
http://www.nudoq.org/#!/Packages/xunit.extensions/xunit.extensions/Assertions/M/IsType(T)http://www.nudoq.org/#!/Packages/xunit.extensions/xunit.extensions/Assertions/M/IsType
Assert.IsType的输入应该是对象本身而不是其类型,以下内容不应抛出:
var expected = typeof(List<MyClass>);
var actual = Method();
Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actual);