是否可以使用 Rhino Mocks 模拟 WindowsImpersonationContext?
我得到:
System.MissingMethodException:找不到具有匹配参数的构造函数 ----> System.MissingMethodException:类型为“WindowsImpersonationContextProxy04bee852de914d5b8a47d6776edc4cb3”的构造函数
var windowsImpersonationContext = mockRepository.Stub<WindowsImpersonationContext>();
mockImpersonation.Stub(x => x.ImpersonateUser("username", "domain", "password")).Return(windowsImpersonationContext);
这是我需要模拟的代码
public interface IImpersonation
{
WindowsImpersonationContext ImpersonateUser(string sUsername, string sDomain, string sPassword);
}
最佳答案
看起来您想要 stub IImpersonation,而不是 WindowsImpersonationContext。这就是 IImpersonation.ImpersonateUser 返回的内容。
但是,WindowsImpersonationContext 没有公共(public)构造函数,因此您无法创建模拟构造函数进行测试。您可能想要为 WindowsImpersonationContext 创建一个接口(interface)。 stub 用于测试和生产的接口(interface),创建一个实现接口(interface)并将调用委托(delegate)给真实 WindowsImpersonationContext 的包装类。
关于c# - Rhino Mocks 模拟 WindowsImpersonationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336547/