我很新的測試,並試圖在我目前的項目中「正確」。大部分函數都非常簡單,但我堅持使用大部分其他類/函數調用的類/函數,以及是否應該測試它們。如何在沒有任何邏輯的情況下對函數進行單元測試?
例如說我有這兩個功能類:
public MyObject LoadObject(string path)
{
string[] lines = fileService.ReadAllLines(path);
return myParser.Parse(lines);
}
public void SaveObject(MyObject, string path)
{
string[] lines = myConverter.Convert(MyObject);
fileService.WriteAllLines(path, lines);
}
我想我可以模擬出myConverter,myParser和的FileService,然後檢查是否轉換(),解析(),ReadAllLines()和WriteAllLines()已經被調用,但這真的給了我什麼?
你不單元測試功能,你測試功能。這些課程是做什麼的?通過他們的名字,我假設他們保存並加載對象。所以你會寫一個測試來保存一些東西,然後加載它並檢查加載的數據是否正常。 – JJJ
這只是一個例子,但我並不覺得這是直截了當的。大部分工作當然是myConverter/myParser,而且這些工作是單獨測試的(所以不需要在這裏測試)。我的觀點是,當我主要做其他對象的事情時,我應該測試什麼或者我應該測試它?我可以驗證呼叫是否已完成(並且有正確的參數),並想知道這是人們通常在這些情況下做什麼,或者他們是否只是跳過測試它們(除了稍後在集成測試中可能) – user1776562