C# 单元测试采用IEnumerableclients参数的函数
我有一个功能,可以一次保存多个客户端和一个客户端。我正在努力用字符串类型的客户端属性创建和填充参数IEnumerable之一:clientKey、clientName和clientTypeCodeC# 单元测试采用IEnumerableclients参数的函数,c#,unit-testing,integration-testing,C#,Unit Testing,Integration Testing,我有一个功能,可以一次保存多个客户端和一个客户端。我正在努力用字符串类型的客户端属性创建和填充参数IEnumerable之一:clientKey、clientName和clientTypeCode public void SaveMultipleClients(IEnumerable<IClient> clients, TransactionMetadata metadata) { try { if (clients =
public void SaveMultipleClients(IEnumerable<IClient> clients, TransactionMetadata metadata)
{
try
{
if (clients == null)
{
throw new ArgumentNullException("clients");
}
var abstractClients = clients.ToList();
var concreteClients = new List<Client>();
for (int i = 0; i < abstractClients.Count; i++)
{
concreteClients.Add(abstractClients[i].ToConcreteType<IClient, Client>());
var cleanClients = this.RemoveErroneousClient(concreteClients[i]);
foreach (var client in cleanClients)
{
this.SaveClient(client, metadata);
}
}
this.SavePending(concreteClients, metadata);
}
catch (Exception e)
{
throw e.WrapException();
}
}
提前感谢您的帮助 我能够实例化和填充客户机列表,并将其传递给clients参数
var myClientsList = new List<IClient>();
myClientsList.Add(individualClient);
myClientsList.Add(individualClient1);
var clients = clientDataManager.SaveMultipleClientsOneAtATime(myClientsList, new TransactionMetadata(DateTime.UtcNow));
你有什么错误?在哪里呢?您正在创建的某个地方有一个IClient接口的具体实现?还是你在模仿这个界面?将它们添加到列表如果您的问题是“如何在单元测试中构建客户机集合”,您可以构建一个测试工具实现,或者使用模拟框架MS fakes(例如)在testvc 74中构建一个。是的,我想在我的单元测试中构建一个客户机集合。你能给出代码示例吗?你不喜欢这种方法吗?