添加的这个属性在业务上的意思就是体检室是否可以使用. 如果不可以使用的话, 那么球员的转会操作应该被推迟.
所以还需要为转会结果枚举添加一个推迟:
?...最后在转会审批逻辑里进行判断, 如果体检室不可用, 那么转会就被推迟:
?
在单元测试里对属性进行mock非常的简单:
?
这个测试也会通过的:
?...这么做是没问题的, 测试也会通过:
?
但是这样做很麻烦, 而Moq则提供了一种简单的方式来处理这种多层的/递归的mock:
?
这样写即可. 测试同样会通过:
?...但是DefaultValue这个属性只对引用类型起作用(对值类型不起作用), 像这种递归的mock, 它会递归的创建所需的引用类型, 但是最后的IsAvailable这个值类型是不起作用的....属性值变化跟踪
需要添加一些代码, 首先添加一个枚举:
?
为接口添加属性:
?
实现类:
?
然后在审批类里, 我设置了这个属性的值:
?