我正在测试我的一个功能。结果没问题,但是方法的结果集合属于Position
类型,用于比较的集合属于Mock<IPosition>
类型。这就是测试总是失败的原因,因为两者之间的比较是不正确的。
有没有办法可以覆盖集合之间的默认比较?
结果的类型为Position,它实现了这个接口:
public interface IPosition
{
char HorizontalPosition { get;}
int VerticalPosition { get; }
}
但是模拟集合的类型为Mock<IPosition>
。
答案 0 :(得分:1)
您必须修改集合:
var positions = new List<Position>();
var mocks = new List<Mock<IPosition>>();
YourComparisonMethod(positions.Cast<IPosition>(), mocks.Select(m => m.Object));