厌烦了assert.AreEqal();等等一堆的assert方法了吗? 偶然觅得下面这个奇思妙想
看看下面这个:    
 
assertThat ---  XUnit改进assertThat(something, eq("Hello"));
assertThat ---  XUnit改进assertThat(something, eq(
true));
assertThat ---  XUnit改进assertThat(something, isA(Color.
class));
assertThat ---  XUnit改进assertThat(something, contains(
"World"));
assertThat ---  XUnit改进assertThat(something, same(Food.CHEESE));
assertThat ---  XUnit改进assertThat(something, NULL);
assertThat ---  XUnit改进assertThat(something, NOT_NULL);
 
第二个参数是一个constraint对象.也就是你对something所要检查的约束.

这个功能实在很cool.

1. 没有了那么多的assert方法,看上去很舒服,也更容易理解.

2. 可以方便的组合约束
     
assertThat ---  XUnit改进assertThat(something, not(eq("Hello")));
assertThat ---  XUnit改进assertThat(something, not(contains(
"Cheese")));
assertThat ---  XUnit改进

3. 自定义约束.  
  
assertThat ---  XUnit改进  assertThat(something, between(1020)); 
    
   其实这里面也就是个责任分离的思想.为啥我们想不到?assertThat ---  XUnit改进 当然放到Nunit中, 这个constraint可以通过Delegate来实现. 自己模拟了一下NUnit下的实现, 不知有没有更好的实现?
assertThat ---  XUnit改进using System;
assertThat ---  XUnit改进
assertThat ---  XUnit改进
namespace xnUnit

assertThat ---  XUnit改进using System;
assertThat ---  XUnit改进
assertThat ---  XUnit改进
assertThat ---  XUnit改进
namespace xnUnit

相关文章:

  • 2021-08-09
  • 2021-09-17
  • 2022-12-23
  • 2021-07-01
  • 2021-09-13
猜你喜欢
  • 2022-03-04
  • 2021-11-16
  • 2022-02-25
  • 2021-07-02
  • 2021-11-29
相关资源
相似解决方案