Unit testing 使用Moq对C#中的函数进行单元测试
我正试图使用Moq在C#中为下面的函数编写单元测试,但是我发现我的脑子里有点不知所措,比如verify和其他Moq概念Unit testing 使用Moq对C#中的函数进行单元测试,unit-testing,moq,Unit Testing,Moq,我正试图使用Moq在C#中为下面的函数编写单元测试,但是我发现我的脑子里有点不知所措,比如verify和其他Moq概念 public X509Certificate GetCertificate(string certificateName) { var settingOverride = this.settings.SecretOverridesSetting.FirstOrDefault(secret => secret.Name.Equals(
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。您需要以一种不与任何实现紧密耦合的方式重构此代码。因为您不能使用MOQ模拟类的非虚拟方法
有关使用MOQ创建测试方法的更多详细信息,请参阅链接。这是第一次在没有MOQ或任何其他模拟框架的情况下编写测试。普通c代码。