比较 f# 中的 c# 实例对象

compare c# instance objects in f#

我是 F# 新手,正在尝试通过为 C# 库编写单元测试来学习 F#。

下面是示例 C# 代码 -

 public class User
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public class UserSelector
{
    public User SelectUser()
    {
        return new User() { FirstName = "John", LastName = "Public" };
    }
}

在 F# 中,我正在使用 xunit 编写单元测试 -

下面是示例 F# 代码 -

module UserSelectorTests =

[<Fact>]
let ``SelectUser Tests``() =
    let actual = (new UserSelector()).SelectUser()
    let expected = new User(FirstName = "John", LastName = "Public")
    Assert.Equal(expected, actual)

尽管实际和预期相同,但测试失败。

关于如何在 F# 中比较对象有什么想法吗?

正如 Rene 在评论中提到的,用户 class 需要实施 Equals。