第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

(什么時(shí)候)使用 FluentAssertions 是個(gè)好主意?

(什么時(shí)候)使用 FluentAssertions 是個(gè)好主意?

C#
MMMHUHU 2022-11-22 16:49:13
我正在重寫(xiě)一個(gè)C# .NET 項(xiàng)目,目前正在計(jì)劃我將如何進(jìn)行測(cè)試。在閱讀完所有內(nèi)容后,我將安裝XUnit 框架(這是第一次——我對(duì) MSTest 更有經(jīng)驗(yàn))?,F(xiàn)在我想知道我是否應(yīng)該將它與FluentAssertions(我以前也從未使用過(guò))結(jié)合起來(lái),或者編寫(xiě)純 XUnit 測(cè)試。乍一看,F(xiàn)luentAssertions 聽(tīng)起來(lái)既書(shū)呆子又時(shí)尚,但我不確定它是否真的會(huì)讓我編寫(xiě)出可讀性最好的代碼,以及它在復(fù)雜測(cè)試中的擴(kuò)展性如何。因此,我正在尋找您的經(jīng)驗(yàn)和論據(jù)。[何時(shí)](做 | 會(huì))使用 FluentAssertions?我很好奇。
查看完整描述

2 回答

?
呼啦一陣風(fēng)

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊

流利主要是關(guān)于可讀性和便利性。

如果您要編寫(xiě)多個(gè)單元測(cè)試,我建議您使用它。我最近遇到了將對(duì)象“a”和“b”映射到對(duì)象“c”的情況,我想通過(guò)單元測(cè)試來(lái)驗(yàn)證映射器。
因此,我創(chuàng)建了一個(gè)“expectedObject”,其中包含對(duì)象“c”在映射后應(yīng)包含的所有屬性。
由于我沒(méi)有編寫(xiě)比較器,也不需要比較器,因此比較對(duì)象“c”和“expectedObject”以斷言它們包含相同的數(shù)據(jù)會(huì)非常麻煩。所討論的對(duì)象包含許多屬性,而這些屬性又具有許多屬性。

但是用流利的我可以簡(jiǎn)單地寫(xiě)

c.Should().BeEquivalentTo(expectedObject);

這比一連串的內(nèi)容更容易閱讀Assert.AreEqual(),在這種情況下,更重要的是,寫(xiě)起來(lái)也快得多。


查看完整回答
反對(duì) 回復(fù) 2022-11-22
?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

Fluent Assertions 是一個(gè) Nuget 包,我在我的項(xiàng)目中一直使用了大約 6 年。拿起并開(kāi)始使用非常簡(jiǎn)單。大多數(shù)人可以在 5-10 分鐘內(nèi)掌握它,這將使閱讀單元測(cè)試更容易一些。Fluent Assertions 是免費(fèi)的,因此試用它真的不會(huì)犯規(guī)。我想我現(xiàn)在已經(jīng)向 10 多個(gè)團(tuán)隊(duì)介紹了 Fluent Assertions,到目前為止還沒(méi)有人抱怨過(guò)。大多數(shù)團(tuán)隊(duì)不使用它的最大原因就是缺乏接觸它的機(jī)會(huì)。使用標(biāo)準(zhǔn)方法,單元測(cè)試可能類似于以下內(nèi)容:


[TestMethod]  

public void Example_test()  

{  

    var actual = PerformLogic();

    var expected = true;  

    Assert.AreEqual(expected, actual);  

}  

此測(cè)試沒(méi)有任何問(wèn)題,但您需要花一兩秒鐘來(lái)了解發(fā)生了什么。相反,使用 FLuent Assertations,您可以像這樣編寫(xiě)相同的測(cè)試:


[TestMethod]  

public void Example_test()  

{  

    var result = PerformLogic();

    result.Should().BeTrue();  

}  

希望您能看到第二個(gè)示例的閱讀時(shí)間要少得多,因?yàn)樗x起來(lái)更像是一個(gè)句子而不是 Assert 語(yǔ)句。從根本上說(shuō),這就是 Fluent Assertions 的全部,與 Assert 語(yǔ)句相比,許多擴(kuò)展方法可以更輕松地閱讀單元測(cè)試。我希望你能理解為什么它如此容易上手。您需要做的就是在結(jié)果變量中獲取測(cè)試結(jié)果,使用 Should() 努力,然后使用 Fluent Assertions 其他擴(kuò)展來(lái)測(cè)試您的用例。簡(jiǎn)單的!


http://www.jondjones.com/c-sharp-bootcamp/tdd/fluent-assertions/what-is-fluent-assertions-and-should-i-be-using-it


查看完整回答
反對(duì) 回復(fù) 2022-11-22
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)