伪造-为响应提供私人构造函数(DirectoryServices)

时间:2019-03-15 17:12:03

标签: c# directoryservices microsoft-fakes principalsearcher

我正在尝试伪造以下内容:

DirectoryServices.AccountManagement.PrincipalSearcher.FindAll()

问题是从此方法返回的类具有私有构造函数:

PrincipalSearchResult<Principal>

所以我不能采用通常的匀场方法:

          ...
          ShimPrincipalSearcher shimSearcher = new ShimPrincipalSearcher();

          shimSearcher.FindAll = () => { return new PrincipalSearchResult<Principal>(); };
          ...

有人以前见过这个,并找到了解决方案/方法吗?

我知道这里有一个非常类似问题:

MS Fakes Static Method that Returns Class with Private Constructor

但是接受的答案似乎不适用于我的情况-我怀疑是因为它特定于该问题所涵盖的方法。

如果可能的话,我想坚持使用Fakes / Shim-因为我在单元测试的其他地方使用它-尽管我很乐于尝试其他方法 (尽管费用不高,但我不太可能获得Typemock Isolator之类的批准-如该其他帖子所述)

我在垫片的其他用途方面取得了一些成功-包括其他DirectoryServices方法的使用- 因此卡在这样的东西上有点令人沮丧(我想我几乎肯定会因为某种简单的错误而陷入困境)

欢迎对此提出任何建议!

0 个答案:

没有答案