如何使用Microsoft Fakes shim隔离(绕道)内部构造函数?

时间:2015-10-12 15:01:33

标签: c# .net entity-framework unit-testing microsoft-fakes

我在StreamReader中找到了一堆例子,但是如何绕开内部构造函数?我需要使用内部构造函数创建一些公共类的假货,以便能够测试我隔离的代码。

想象一下我有

public class ChangesPostProcessor
{
    public void Process(IEnumerable<DbEntityEntry> changes)
    {
    ...
    }
 }

在这种特殊情况下,我需要伪造一组DbEntityEntry,以便能够模拟他的众多方法(使用DB)并测试我的逻辑。

1 个答案:

答案 0 :(得分:0)

我终于使用了包装器方法并使用公共构造函数在我自己的类中实现了IDbEntityEnty接口,其中包含DbEntityEntry。 它让我测试,但让我重写了大量的代码来改变从DbEntityEntry到IDbEntityEntry的依赖。