属性方法内依然没有做实现.
添加的这个属性在业务上的意思就是体检室是否可以使用. 如果不可以使用的话, 那么球员的转会操作应该被推迟.
所以还需要为转会结果枚举添加一个推迟:
?...就是从内到外一层一层的mock.
这么做是没问题的, 测试也会通过:
?
但是这样做很麻烦, 而Moq则提供了一种简单的方式来处理这种多层的/递归的mock:
?
这样写即可. 测试同样会通过:
?...但是DefaultValue这个属性只对引用类型起作用(对值类型不起作用), 像这种递归的mock, 它会递归的创建所需的引用类型, 但是最后的IsAvailable这个值类型是不起作用的....因为最后一层是bool类型的, 是值类型, 所以上面的设置不起作用, 返回的是false. 所以测试没通过.
那我就把它改成string类型好了:
?
审批方法:
?
然后再调试测试:
?...注意, 这个方法应该最先调用, 否则的话其它的设置可能会被覆盖.