gpt4 book ai didi

c# - FluentAssertions 类型检查

转载 作者:太空狗 更新时间:2023-10-29 20:01:06 27 4
gpt4 key购买 nike

我尝试使用 FluentAssertions 检查我的单元测试,项目列表中的属性类型属于特定类型。

myObj.Items.OfType<TypeA>().Single()
.MyProperty1.GetType()
.Should().BeOfType<TypeB>();

不幸的是,我的测试失败并显示以下错误消息:

Expected type to beTypeB,but found System.RuntimeType.

为什么它说它找到了System.RuntimeType ?我使用调试器来验证 MyProperty1类型为 TypeB它是……我在使用 .BeOfType<>错了吗?

最佳答案

请跳过 .GetType()。您问的不是 MyProperty1 的类型,而是类型的类型。太深 1 层。

public class TypeB { }

public class TypeA
{
public TypeB MyProperty1 { get; set; }

public TypeA()
{
MyProperty1 = new TypeB();
}
}

[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
List<object> objects = new List<object>();
objects.Add("alma");
objects.Add(new TypeA());
objects.OfType<TypeA>().Single().MyProperty1.Should().BeOfType<TypeB>();
}
}

关于c# - FluentAssertions 类型检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33388416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com