我在我正在处理的一些单元测试中使用 Microsoft Fakes。我的界面如下所示:
interface ISecuredItem<TChildType> where TChildType : class, ISecuredItem<TChildType>
{
SecurityDescriptor Descriptor { get; }
IEnumerable<TChildType> Children { get; }
}
一个典型的实现如下:
class RegistryKey : ISecuredItem<RegistryKey>
{
public SecurityDescriptor Descriptor { get; private set; }
public IEnumerable<RegistryKey> Children { get; }
}
我想将此界面与 Microsoft Fakes 一起使用,并让它为我生成一个存根。问题是,Fakes 使用的形式是StubInterfaceNameHere<>
,所以在上面的例子中,你最终会尝试做类似的事情StubISecuredItem<StubISecuredItem<StubISecuredItem<StubISecuredItem....
这可能吗?如果是这样,我如何以这种方式使用假货?