0
我是F#的新手,並試圖通過爲C#庫編寫單元測試來學習F#。比較f#中的c#實例對象#
下面是示例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#中的對象的任何想法?
在c#中它們也會有所不同。您正在比較對象實例的引用。你創建了兩個實例。這些情況並不相同。您的User類必須實現Equals,或者您必須比較實際的和預期的狀態,即FirstName和LastName。 – rene
謝謝,就在發佈這個問題後,我偶然發現了在C#中提出的類似問題。謝謝rene! – Yousuf