1
當在Web API使用IDataProtectionProvider
,IoC容器配置了AddDataProtection
(services.AddDataProtection();
),並允許使用DI的服務檢索IDataProtectionProvider
這樣:在測試項目中使用IDataProtectionProvider?
private readonly IDataProtectionProvider _dataProtectionProvider;
public CipherService(IDataProtectionProvider dataProtectionProvider)
{
_dataProtectionProvider = dataProtectionProvider;
}
如果我想測試我的CipherService
(使用的xUnit我的情況),我將無法完成這項工作,而無需使用DI,所以我的問題是;
問:如何使用DI或以其他方式IDataProtectionProvider
在一個測試項目?
那爲什麼不嘲笑的依賴,並將其注入到依賴類? – Nkosi
因爲這是一個集成測試。 – Marcus
回顧[源代碼](https://github.com/aspnet/DataProtection/blob/dev/src/Microsoft.AspNetCore.DataProtection/DataProtectionServiceCollectionExtensions.cs),看看你需要模擬/存根/假哪些依賴 – Nkosi