我是测试新手,正在测试维护中一些遗留代码的单元测试。控制器是围绕静态服务调用来获取数据的。我不确定最佳路径,但是我正在考虑将静态类重构为实例类,或者深入研究可测试性方法。这个代码片段是我反复反复思考的简单例子。提前感谢您的任何建议。 staticMedServiceHelper是一个使用WCF ChannelFactory等静态类的静态类。顺便说一句,如果你有任何良好的WCF/MVC /测试学习资源,请让我知道。 再次感谢。MVC控制器依赖于静态服务类 - 可测试性问题
public ActionResult Documents(DocumentsForRequirementViewModel model)
{
staticMedServiceHelper<IMedService>.Use(proxy =>
{
var requirment = proxy.GetRequirementById(model.Id);
var dtos = (IEnumerable<DocumentDTO>)requirement.GetType().GetProperty(model.PropertyName).GetValue(requirement, null);
model.Documents = Mapper.Map(dtos, new List<DocumentViewModel>());
});
return PartialView(model);
}
我不明白'wcf'在这里涉及到哪里;也许有一些误解? – Codor 2014-08-27 14:37:50
我会投票替换它。抛开静态课,这件事要求你对任何你想要的东西都进行反思,这是一个巨大的明显的警告信号,它首先是设计不好的。 – 2014-08-27 14:43:27
staticMedServiceHelper是利用ChannelFacotry WCF的静态类。也许这些信息不相关。我的主要问题是关于控制器方法的可测试性。谢谢。 –
Jon
2014-08-27 14:44:11