2017-02-27 35 views
0

我有這個片段的測試代碼時失敗:C#的xUnit Assert.Equal比較VAR和int

public void Test() { 
    var expected = 10; 
    int actual = 10; 
    Assert.Equal(expected, actual); //Failing 
} 

據我所知,C#小號變量被隱式類型,因此它被認爲是在編譯時一個int ;他們都應該是Int32。它不會比較這些值嗎?

我還讀到,Equal方法比較對象;這會影響它比較兩種基本類型的方式嗎?

回答

0

它的工作原理在我的機器:)

上,但是你錯過了[Fact]註釋在您的例子,它是錯誤?

+0

這是在我的程序中,我只是沒有提到這個帖子,謝謝! – ByronPark

0

是的,它應該比較的值,他們應該都是int s。

各種Equal過載should be in here的impl。

如果你在本地克隆Asserts Lib(或者我提供了子模塊鏈接的源代碼回放),你可以通過impl(或關閉工具|選項中的我的代碼 - 很確定xUnit的符號發佈在某處)。