考虑到我有Class1,该类具有一种方法来确定输入对象应转换为的类型。我要做的是编写一些单元测试以确保该功能。我不想测试TypeAConvertor方法或TypeBConvertor方法。我想测试有关正确决策的CheckAndStore方法。现在,此方法的返回类型为void。因此,我无法访问转换后的对象。每当调用CheckAndStore方法时,在一个数组中输入的状态可以不同,但是99%的状态相同
public class Class1
{
public void CheckAndStore(Input[] inputs)
{
foreach (var input in inputs)
{
if (input.State==1)
{
TypeA result = TypeAConvertor.Convert(input);
//Store in TypeA mongo collection
}
else if (input.State==2)
{
TypeB result = TypeBConvertor.Convert(input);
//Store in TypeB mongo collection
}
//other conditions
}
}
}
我需要重构此方法以使其可测试,我正在考虑的是返回一个具有IList和IList两个属性的对象,并将结果一一添加到这两个列表中,但是我认为效率不高,因为在99中%我初始化了未使用的和空的列表。有没有人有更好的解决方案来重构它?