我一直在使用起訂量了一段時間,並且爲了簡潔我往往比使用Mock.Of
流利的語法不表達設置...AutoFixture流暢的起訂量語法
var foo = Mock.Of<IFoo>(f => f.Method(It.IsAny<string>()) == 7 && f.Property == "Hi");
var sut = new Whatever(foo);
最近,我已經開始玩弄AutoFixture,似乎無法找到任何同時表達多個設置的等效語法。我明白,我可以表達使用Freeze
同樣的事情...
var foo = fixture.Freeze<Mock<IFoo>>();
foo.Setup(f => f.Method(It.IsAny<string>()).Returns(7);
foo.Setup(f => f.Property).Returns("Hi");
var sut = fixture.Create<Whatever>();
...但如果可能的話,我想獲得automocking的好處,並保持流暢的起訂量設置的簡潔。除了文體學的觀點外,AutoFixture能讓我更流暢地表達這些設置嗎?如果沒有,我可以使用哪些優化使AutoFixture設置更簡潔?
你有沒有考慮使用NSubstitute?這是OOTB *顯着*清潔比Moq(也有一個AutoNSubstitute膠庫),所以如果你沒有顯着的不可忽略的沉沒成本,你沒有任何損失,但括號:) –
@RubenBartelink,在這種情況下,特別我正在與在企業環境中基於10k + Moq/NUnit的測試,所以框架轉換可能不太可能。然而,對於我的個人項目,我肯定會看看它(我可以在網上找到的幾個比較非常有人氣,並將NSubstitute與非流利的Moq語法進行比較,這非常「羅嗦」,所以我必須做一個一點研究和嘗試自己)。 – ScheuNZ
在這種情況下具有完美意義:P –