【发布时间】:2015-01-08 10:46:17
【问题描述】:
我有一个类似
的界面public interface IAddressProvider
{
string GetAddress(double lat, double long);
}
在我的消费类中,我想循环浏览具体的提供者,直到得到结果,例如(简化):
string address;
address = _cachedAddressProvider.GetAddress(lat, long);
if(address == null)
address = _localDbAddressProvider.GetAddress(lat, long);
if(address = null)
address = _externalAddressProvider.GetAddress(lat, long);
return address ?? "no address found";
然后我可以模拟每个提供程序以进行单元测试,将 null 设置为返回值以适当地测试所有代码路径。
如何将接口注入我的消费类(最好使用 StructureMap),以便正确解析每个具体实现?
【问题讨论】:
标签: c# unit-testing dependency-injection structuremap