Я пытаюсь написать модульные тесты для приведенной ниже функции в C #, используя Moq, но я нахожу слегка перегруженным, оборачиваясь вокруг проверки и других концепций Moq.
public X509Certificate GetCertificate(string certificateName)
{
var settingOverride = this.settings.SecretOverridesSetting.FirstOrDefault(secret => secret.Name.Equals(certificateName, StringComparison.InvariantCultureIgnoreCase));
if (settingOverride != null)
{
X509Certificate targetCertificate;
var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certColl = store.Certificates.Find(X509FindType.FindByThumbprint, settingOverride.Value, false);
if (certColl.Count == 0)
{
return null;
}
targetCertificate = certColl[0];
store.Close();
return targetCertificate;
}
else
{
return SecretStoreClientHelper.GetCertificate(certificateName);
}
}
Это мой самый первый разнаписание модульного теста для функции на любом языке.Может ли кто-нибудь помочь мне с несколькими сценариями модульного тестирования, где я могу использовать Moq.