1

我经常遇到一个与 Rhino Mocks 强制您在可用时使用 setter 而不是 mock(反之亦然)的方式有关的问题。

例如:

var foo = MockRepository.GenerateStub<IFoo>();

// Valid only if Bar has a setter (of course, otherwise it wouldn't compile)
foo.Bar = new Bar(); 

// Valid only if Bar does not have a setter (less obvious, as this will compile)
foo.Stub(x => x.Bar).Return(new Bar());

处理这些问题确实很麻烦,尤其是在进行重构时。

所以我的问题是,谁能想出一种自定义 Resharper/Visual Studio 快捷方式的好方法,让我可以快速从一个转换到另一个?

4

1 回答 1

1

回答我自己的问题 - 自定义检查模式可以帮助解决这个问题。

搜索模式是:$object$.$property$ = $value$;

替换模式是: $object$.Stub(x => x.$property$).Return($value$);

$object$ 和 $value$ 都是表达式占位符,$property$ 是标识符占位符。

不幸的是,因为这是代码检查,所以它始终可见,导致整个代码库中出现绿色曲线。

于 2012-07-06T05:17:58.267 回答