【发布时间】:2016-08-06 00:45:39
【问题描述】:
我正在尝试伪造/存根
System.DirectoryServices.ActiveDirectory.Domain.GetComputerDomain().Name
我想知道如何分配 GetComputerDomain 以返回名称为“TestDomain”的域。我可以返回一个空域,如下所示:
System.DirectoryServices.ActiveDirectory.Fakes.ShimDomain
.GetComputerDomain = () => { return null; };
但我认为主要问题是 Domain 类没有公共构造函数,因此我无法执行以下操作:
System.DirectoryServices.ActiveDirectory.Fakes.ShimDomain
.GetComputerDomain = () =>
{
return new System.DirectoryServices.ActiveDirectory.Domain()
{
Name = "TestDomain"
};
};
如何解决这个问题?我认为单独使用 Moq 是不可能的,我在 MS Fakes 旁边使用它。是否可以使用一个、另一个或两者来完成此任务?如果不是,我的其他选择是什么?
旁注:我并不是真的在寻找获取域名的替代方法。我真的很想如何在我当前的实现中使用它,因为我想更好地理解如何模拟和伪造未来可能属于这一类的东西。欢迎使用替代方案,但非常期待回答现有问题。
【问题讨论】:
标签: c# .net unit-testing moq microsoft-fakes