我有一個簡單的「Get」方法。例如:單元測試不會「覆蓋」簡單的get方法。 (c#)
public class Foo : IFoo
{
public Dictionary<string,string> GetSomething(string xyz)
{
var result = new Dictionary<string,string>
... Go to DB and return some key value pairs
return result;
}
}
我寫了一個簡單的測試,執行並通過成功,但我沒有得到代碼覆蓋的方法。
[TestMethod()]
public void GetSomething()
{
var target = new StubIFoo();
var expected = new Dictionary<string, string>
{
{"blahKey","blahValue"}
};
var results = target.GetSomethingString = s =>
{
var result = new Dictionary<string, string> {{"a", "b"}};
return result;
};
var actual = results("a");
CollectionAssert.AreEqual(expected,actual);
}
我也試圖針對類本身,它提供了覆蓋,但不返回任何結果(例如:「VAR目標=新StubFoo();」)
再次,它成功地執行並通過,但我沒有得到任何報道。任何指針將不勝感激。謝謝。
你期待什麼保險? 'StubFoo'和'Foo'之間有什麼關係? – Paolo
你想要測試什麼? 'Foo'還是別的什麼?如果你想測試'Foo',你爲什麼要剔除'GetSomething'? (基本上,你不能期望覆蓋你故意剔除的方法 - 你沒有執行該代碼!) –
顯示你的存根的代碼。 – Haney