我试图断言方法调用返回的对象是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
答案 0 :(得分:15)
Assert.IsType的输入应该是对象本身而不是它的类型,以下内容不应该抛出:
var expected = typeof(List<MyClass>);
var actual = Method();
Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actual);