c# - 简单 `Assert.IsAssignableFrom<T>` 失败

标签 c# unit-testing nunit

为什么这个简单的断言语句会失败?从我读过的我应该是。遗憾的是,由于该功能非常基础,因此没有太多信息。

public interface IDummy{}
public class Dummy : IDummy {}

Assert.IsAssignableFrom<IDummy>(new Dummy());

运行这个测试产生

Expected: assignable from <Application.Tests.ViewModels.IDummy>
  But was:  <Application.Tests.ViewModels.Dummy>

我曾尝试交换界面和对象端,但无济于事。

最佳答案

IsAssignableFrom 的工作方式与您的预期相反。它在问:Is (value) Assignable From IDummy。或者:“可分配给(值)吗?”

来自 XML 文档: ///断言可以为一个对象分配给定类型的值。

你可能需要 Assert.IsInstanceOfType()

关于c# - 简单 `Assert.IsAssignableFrom<T>` 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5560449/

相关文章:

c# - 从 DDay.Ical.Net 迁移到 Ical.Net

C# 等效于 C++ 宏并使用 Auto<> 属性

java - 单元测试: Testing a class which has an outside method

javascript - 在jestjs中模拟嵌套函数

unit-testing - 在 MS C# 单元测试中,如何断言发生了 ArgumentException?

c# - 在 visual studio 中编辑 xaml 文件的任何替代方法?

c# - 如何使用 "dotnet test"按类别过滤 NUnit 测试

c# - 在同一个模拟实例上断言对公共(public)方法的调用

javascript - 如何使用 nUnit 对 JavaScript 进行单元测试?

c# - 在 linq-to-sql 中保护查询授权