2015-12-17 22 views
0

我有一個類和一個看起來像這樣的方法的方法:一個起訂量模擬<Interface>呼籲建立一個返回字符串

public class FieldLookup : IFieldLookup 
{ 
    public string LookupField(string Var1, string Var2) 
    { 
     // do a database lookup 
    } 
} 

這工作得很好,在實際的類它被用在依賴注入。我試圖弄清楚的是,在單元測試中,我如何使用Moq框架來模擬對此方法的調用。

var fieldLookup = new Mock<IFieldLookup>(); 

那麼,我該怎麼做....?

fieldLookup.Setup<string>(x => x.LookupField("", "").Returns("something")); 
fieldLookup.Setup(x => x.LookupField("", "").Returns("something")); 

這兩個都告訴我「字符串不包含Return的定義」。一直在玩,但沒有得到它。

回答

1

您將括號放在錯誤的地方,您需要調用方法Setup返回的對象上的Returns方法。

fieldLookup.Setup<string>(x => x.LookupField("", "")).Returns("something"); 
fieldLookup.Setup(x => x.LookupField("", "")).Returns("something"); 
+0

完美!謝謝! –