我是測試新手,正在測試維護中一些遺留代碼的單元測試。控制器是圍繞靜態服務調用來獲取數據的。我不確定最佳路徑,但是我正在考慮將靜態類重構爲實例類,或者深入研究可測試性方法。這個代碼片段是我反覆反覆思考的簡單例子。提前感謝您的任何建議。 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