我正在尝试对一些 Active Directory 代码进行单元测试,与此问题中概述的几乎相同:
创建 DirectoryEntry 实例以供测试使用 https://stackoverflow.com/questions/5966161/create-an-instance-of-directoryentry-for-use-in-test
接受的答案建议实现一个包装器/适配器DirectoryEntry
类,我有:
public interface IDirectoryEntry : IDisposable
{
PropertyCollection Properties { get; }
}
public class DirectoryEntryWrapper : DirectoryEntry, IDirectoryEntry
{
}
问题是“特性“我的财产IDirectoryEntry
模拟未初始化。尝试像这样设置模型:
this._directoryEntryMock = new Mock<IDirectoryEntry>();
this._directoryEntryMock.Setup(m => m.Properties)
.Returns(new PropertyCollection());
结果出现以下错误:
类型“System.DirectoryServices.PropertyCollection”没有定义构造函数
据我了解,当尝试仅使用内部构造函数实例化类时会引发此错误:
类型“...”没有定义构造函数 https://stackoverflow.com/questions/6958358/the-type-has-no-constructors-defined
我尝试为以下内容编写一个包装器/适配器PropertyCollection
类,但没有公共构造函数,我无法弄清楚如何实例化或从该类继承。
那么我该如何模拟/设置“特性“ 上的财产DirectoryEntry
用于测试目的的类?