我要进行单元测试的方法有时会转到此代码。
var resourceOwnerToken =
new TokenClient(_tokenClientEndpoint, MobileClient.ClientId, MobileClient.ClientSecret);
IdentityModel.Client.TokenResponse tokenResponse =
await resourceOwnerToken.RequestResourceOwnerPasswordAsync(model.Phone, model.Password);
RequestResourceOwnerPasswordAsync是库中的静态扩展方法。
public static Task<TokenResponse> RequestResourceOwnerPasswordAsync
(this TokenClient client, string userName, string password, string scope = null,
object extra = null, CancellationToken cancellationToken = default(CancellationToken));
当我开始测试时,tokenResponse的值为null,所以我遇到了一个错误。我尝试了模拟。安装程序,但是在扩展方法错误时设置无效。 我应该怎么做才能使tokenResponse具有值?
答案 0 :(得分:1)
您有两种选择
2)在接口中包装静态类。
我通常会做第二个,因为我经常发现垫片的维护比包装类的开销更烦人。