除了更好的可读性(可能?)并且能够使用&
和链接约束|
,约束模型还有什么优于经典模型?
我是经典模型的快乐用户,我正在决定是否值得重构旧测试.
我不得不说我是"经典"模特的粉丝.我发现在大多数情况下更容易制定我的断言,我发现它们也更容易阅读.代码中没有任何内容是没有必要的 - 没有"那个"和"是"这听起来流畅但不适合发现IMO.
这很可能是由于熟悉和其他任何东西一样,但我认为你不是唯一一个发现经典模型非常合理的人,这是值得的.
话虽如此,当使用约束更容易表达的东西时,使用它是有意义的.当某些条件可以使用约束进行显式测试时,尤其如此,但经典模型才会使用Assert.IsTrue(condition)
.关键点在于约束可能能够为这种情况提供比经典约束更多的信息.
因此我认为学习基于约束的模型是一个好主意,但我不会转换任何测试,我不会在你发现经典模型更简单或更易读的地方使用它.
我不知道除了可读性之外还有其他任何优点.但这可能是一个很大的优势.我发现简单地开始每一个测试Assert.That( ... )
而不是使用少量Assert函数使得在视觉上扫描断言容易一百万次,因为您不再需要打扰函数名称,只需查看参数即可.
使用NUnit 2.4,两种语法(类和约束)都使用完全相同的代码.这种或那种方式背后没有任何优势.除非你真的没有更好的时间使用,否则我不打算重写测试.