Endeca 的大部分或全部对象都有内部构造函数。我正在开发一个缺乏对 Endeca API 很好的测试覆盖率的好项目,是否有任何好的策略来单元测试与 Endeca 的交互?
到目前为止,我们拥有的最好的是一种穷人的适配器模式:
public class DimValue : IDimValue
{
public DimValue(Dimension dim, DimVal dimValue)
{
Dimension = dim;
Value = dimValue;
}
public virtual bool IsNavigable()
{
return Value.IsNavigable();
}
public virtual long Id()
{
return Value.Id;
}
// and so on...
}
然后我们可以模拟我们自己的类型 DimValue。这是保持 API 尽可能可测试的最佳方式吗?还是有另一种方法比这更受欢迎?