2016-06-07 62 views
0

我目前比較SQL查詢可以返回數以千計的價值觀,到列表..C#斷言比較兩個列表FluentAssertions的xUnit

我用流利的斷言使用ShouldBeEquivalentTo(),但它需要永遠,這是不可接受的。任何人都知道如何以快速的方式做到這一點?

隨着X單元我使用Assert.Equal但它比較列表的屬性失敗,我讀我必須重寫該方法,但我不想添加任何複雜性。

我發現這種方法運行得很快的唯一方法是Actual.Equals(Expected);,但問題是我沒有任何訪問方法,如contains();沒有某種框架。

快速比較列表屬性的最佳方法是什麼?我接受VisualStudio和C#的其他工具或框架。

謝謝。

+0

澄清:對象有成千上萬的屬性? –

+0

是的,它是一個包含數千個值的列表。 – Elsid

回答

1

你想要測試什麼? SQL查詢的正確性?執行並返回查詢的代碼? Sql Server?爲什麼你需要測試成千上萬的結果?這聽起來像你是(ab)使用xunit在真實數據上運行集成或類似QA的測試。這不是單元測試的目的。

這就是說,我犯了類似的事情。有時你確實需要測試數據庫(即查詢)。如果它是SQL查詢或集成測試的「單元測試」,則應該使用更小的一組數據。

查看https://stackoverflow.com/a/22173807用於比較列表。

我認爲真正的解決方案是減少您正在比較的數據量,並確保您正在測試您真正打算測試的內容。