IsType 和IsType(object,object)抛出IsTypeException

问题描述 投票:11回答:1

我试图断言方法调用返回的对象的类型为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

areSameTypetrue。那么,到底有什么事情是我无法解释的吗?

文档:

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

c# xunit xunit.net
1个回答
20
投票

Assert.IsType的输入应该是对象本身而不是其类型,以下内容不应抛出:

var expected = typeof(List<MyClass>);
var actual = Method();

Assert.IsType<List<MyClass>>(actual);
Assert.IsType(expected, actual);
© www.soinside.com 2019 - 2024. All rights reserved.