C# FluentAssertions:更改属性的默认比较应等效

C# FluentAssertions:更改属性的默认比较应等效,c#,fluent-assertions,C#,Fluent Assertions,我有一个名为“InActiveFlag”的布尔属性模型,它来自第三方API。这将映射到视图模型中名为“IsActive”的属性。“IsActive”是“InActiveFlag”的反义词 以下是ViewModel类: public class ViewModel { public int Id { get; set; } public string Description { get; set; } [Display(Name = "Is Active")] p

我有一个名为“InActiveFlag”的布尔属性模型,它来自第三方API。这将映射到视图模型中名为“IsActive”的属性。“IsActive”是“InActiveFlag”的反义词

以下是ViewModel类:

public class ViewModel
{
    public int Id { get; set; }
    public string Description { get; set; }

    [Display(Name = "Is Active")]
    public bool IsActive { get; set; }
}
public class Model
{
    [JsonProperty("id")]
    public int Id { get; set; }

    [JsonProperty("description")]
    public string Description { get; set; }

    [JsonProperty("inactiveFlag")]
    public bool InactiveFlag { get; set; }
}
这是模型类:

public class ViewModel
{
    public int Id { get; set; }
    public string Description { get; set; }

    [Display(Name = "Is Active")]
    public bool IsActive { get; set; }
}
public class Model
{
    [JsonProperty("id")]
    public int Id { get; set; }

    [JsonProperty("description")]
    public string Description { get; set; }

    [JsonProperty("inactiveFlag")]
    public bool InactiveFlag { get; set; }
}
我试图通过shouldbeeequivalent的options参数将
列表
列表
进行比较,但我还没有弄清楚

我的控制器使用AutoMapper将
列表
转换为
列表
,如下所示:

List<ViewModel> viewModel = _mapper.Map<List<Model>>(listOfModels);
但这甚至没有编译

我已经查看了文档,但是
选项。使用
示例只会修改现有的预期,我需要替换它,因为字段名称不同


我如何告诉FluentAssertions将subject的属性与expectation参数的特定属性进行比较,并覆盖相同的名称约定?

测试的最初一瞥显示您的目标是
ViewResult.Model
,它是类型
对象
。首先尝试转换模型,然后尝试断言,这样您就可以利用泛型。另外,如果在测试中使用async使测试方法
async Task
而不是
async void
谢谢@Nkosi,我现在正在强制转换
ViewResult.Model
,但我仍然不知道如何告诉FA该字段在模型中有不同的名称,并且是相反的值。该视图返回的是单个视图模型还是列表?您强制转换为单个视图模型,但正在将其与模型列表进行比较。我仍在研究这个框架是否能实现你想要实现的目标,它应该是一个列表。在过去的几周里,我读了很多遍。看起来和我想做的最密切相关,解决方案是排除这些属性并分别比较它们。我想我也会这么做。