简体   繁体   English

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

[英]compare c# instance objects in f#

I am new to F#, and trying to learn F# by writing unit tests for C# library. 我是F#的新手,并尝试通过为C#库编写单元测试来学习F#。

Below is sample C# code - 以下是示例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" };
    }
}

In F# I am writing Unit tests with xunit - 在F#中,我正在使用xunit编写单元测试-

Below is sample F# Code - 以下是示例F#代码-

module UserSelectorTests =

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

Even though actual and expected are same the test fails. 即使实际和预期相同,测试仍会失败。

Any ideas on how to compare objects in F#? 关于如何在F#中比较对象的任何想法?

正如Rene在评论中提到的那样,User类需要实现Equals。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM