我如何moq以下以便它返回一个新的Guid();
private void CheckSomething(){
...
user = CustomerContext.Current.User; // returns Guid
CustomerContext来自第三方库,不会注入我的班级。
有什么办法吗?
答案 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。