14
A
回答
17
見Fluent Assertions。你可以做類似於
"ABCDEFGHI".Should().StartWith("AB").And.EndWith("HI").And.Contain("EF").And.HaveLength(9);
new[] { 1, 2, 3 }.Should().HaveCount(4, "because we thought we put three items in the
collection"))
dtoCollection.Should().Contain(dto => dto.Id != null);
collection.Should().HaveCount(c => c >= 3);
dto.ShouldHave().AllPropertiesBut(d => d.Id).EqualTo(customer);
dt1.Should().BeWithin(TimeSpan.FromHours(50)).Before(dt2);
Action action =() => recipe.AddIngredient("Milk", 100, Unit.Spoon);
action
.ShouldThrow<RuleViolationException>()
.WithMessage("Cannot change the unit of an existing ingredient")
.And.Violations.Should().Contain(BusinessRule.CannotChangeIngredientQuanity
0
根據我的研究沒有一個,但如果你願意去儘可能爲什麼斷言失敗的犧牲更好的可報告,並願意加你可以參考NUnit的,並使用他們的一個新的DLL ....
5
請參閱http://sharptestex.codeplex.com/
注:SharpTestsEx似乎不再積極開發,推薦的替代方案是http://www.fluentassertions.com/。
SharpTestsEx(夏普測試擴展)是一組可擴展的擴展。主要目標是編寫Visual Studio IDE intellisense是您的指南的簡短斷言。 #TestsEx可以與NUnit,MsTests,xUnit,MbUnit ...甚至在Silverlight中一起使用。
語法例如強類型斷言(從網頁上獲取):
true.Should().Be.True();
false.Should().Be.False();
const string something = "something";
something.Should().Contain("some");
something.Should().Not.Contain("also");
something.ToUpperInvariant().Should().Not.Contain("some");
something.Should()
.StartWith("so")
.And
.EndWith("ing")
.And
.Contain("meth");
something.Should()
.Not.StartWith("ing")
.And
.Not.EndWith("so")
.And
.Not.Contain("body");
var ints = new[] { 1, 2, 3 };
ints.Should().Have.SameSequenceAs(new[] { 1, 2, 3 });
ints.Should().Not.Have.SameSequenceAs(new[] { 3, 2, 1 });
ints.Should().Not.Be.Null();
ints.Should().Not.Be.Empty();
ints.Should()
.Contain(2)
.And
.Not.Contain(4);
(new int[0]).Should().Be.Empty();
相關問題
- 1. 如果使用流利的斷言
- 2. MSTest:斷言線程執行
- 3. 流利斷言:斷言一個或另一個值
- 4. 流利斷言ShouldBeEquivalentTo總是具有不同的屬性
- 5. MSTEST - 在斷言失敗後繼續
- 6. AssertJ - 繼續用流利的斷言檢查
- 7. Sitecore SearchResulItem - 流利的API?
- 8. EF Codefirst - 用流利的API
- 9. 斷言檢查的便利策略
- 10. 流利的API與其他API有什麼不同?
- 11. 我不能使用.NET Portable的Code First流利API嗎?
- 12. 比較集合流利的斷言都應該等同於別名
- 13. 使用MSTest自定義斷言 - 處理AssertFailedException
- 14. 爲什麼空集合斷言在MSTest中不起作用?
- 15. 的EntityFramework核心流利的API
- 16. 你使用斷言嗎?
- 17. NUnit,MSTest等真的有區別嗎?
- 18. 流利的API和數據註釋
- 19. 經與EF流利的API困難
- 20. 流利的API EF教程錯誤
- 21. 用流利的API編寫第一類
- 22. 如何調試流利的API?
- 23. EF 6使用流利的API
- 24. 流利的Api - 人與創造
- 25. 流利的Api包括哪裏條款
- 26. 流利的API表腳手架 - HasBaseType
- 27. 流利的NHibernate API和.NET 2.0
- 28. 流利的API生產重複列
- 29. 如何先用流利的API
- 30. 流利的API,構建1:*關係
雖然我覺得harrydev可以添加一些有用的信息,但在我看來,SharpTestEx似乎比FluentAssertions更成熟一些。當然是初步觀察。任何人都可以隨時向我展示爲什麼FluentAssertions可能會更好。 – llaughlin 2010-11-03 12:52:24
SharpTestEx基本上已經死亡,而Fluent Assertions正在積極開發並增加對所有主要單元測試框架以及所有.NET框架版本(包括.NET 4.5,WinRT,Silverlight 5和WP7/8)的支持。 – 2013-04-22 18:57:28