我是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#中对象的任何想法?
答案 0 :(得分:0)
正如Rene在评论中提到的,用户类需要实现Equals。