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

时间:2016-07-06 16:29:08

标签: c# f# xunit

我是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#中对象的任何想法?

1 个答案:

答案 0 :(得分:0)

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