如何使用 FluentAssertions 检查对象是不是从另一个类继承?

Posted

技术标签:

【中文标题】如何使用 FluentAssertions 检查对象是不是从另一个类继承?【英文标题】:How can I check if an object inherits from another class using FluentAssertions?如何使用 FluentAssertions 检查对象是否从另一个类继承? 【发布时间】:2020-04-12 10:59:30 【问题描述】:

我想知道如何使用 Fluent Assertions 检查一个对象是否继承自另一个类?

我知道我可以使用 xUnit 使用 IsAssignableFrom 做到这一点,就像这样:

[Fact]
public void CreateBossEnemy()

    //arrange
    EnemyFactory sut = new EnemyFactory();

    //action
    var enemy = sut.Create("Zombie King", true);

    //assert
    Assert.IsAssignableFrom<Enemy>(enemy);

对于 Fluent 断言,IsAssignableFrom 的等价物是什么?

【问题讨论】:

【参考方案1】:

要检查enemy 是否可分配给Enemy 类型,您可以使用:

enemy.Should().BeAssignableTo<Enemy>();

一些资源:

documentation source code tests

【讨论】:

以上是关于如何使用 FluentAssertions 检查对象是不是从另一个类继承?的主要内容,如果未能解决你的问题,请参考以下文章

FluentAssertions:如何在每对元素上使用自定义比较来比较两个集合?

如何在 FluentAssertions 中使用 Excluding 来排除 Dictionary 中的特定 KeyValue 对

异步方法/Func 无法识别 FluentAssertions ShouldNotThrow

提供 FluentAssertions 的扩展

如何使用 FluentAssertions 测试嵌套集合

如何使用 FluentAssertions 4.x 版断言异常?