我正在尝试对一些 Active Directory 代码进行单元测试,与此问题中概述的几乎相同:
接受的答案建议为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”类型没有定义构造函数
据我了解,尝试仅使用内部构造函数实例化类时会引发此错误:
我试图为PropertyCollection
该类编写一个包装器/适配器,但没有公共构造函数,我无法弄清楚如何实例化或从该类继承。
那么,为了测试目的,我如何模拟/设置类上的“ Properties ”属性?DirectoryEntry