来自会话的Moq项目

时间:2016-02-08 19:39:25

标签: c# moq

我如何moq以下以便它返回一个新的Guid();

private void CheckSomething(){
...
    user = CustomerContext.Current.User; // returns Guid

CustomerContext来自第三方库,不会注入我的班级。

有什么办法吗?

1 个答案:

答案 0 :(得分:1)

我这样做了。

public class UserContextWrapper : ICustomUserContext
{
    public Guid UserGuid
    {
        get { return CustomerContext.Current.User; }
    }
}

然后在我的代码中,我必须将原始版本修改为:

private void CheckSomething(){
...
    user = UserContextWrapper.UserGuid ; // returns Guid

现在我可以嘲笑了。我只是将ICustomerUserContext注入到我的类中,并将UserContextWrapper映射到IoC Container中的ICustomUserContext。