我有一箇中等到高度複雜的應用程序,由大約50-60個表的大型數據庫支持。我試圖在代碼上獲得儘可能多的單元測試覆蓋率,但我真的在嘲笑數據集和一些關鍵概念。我實際上對試圖實現全面單元測試覆蓋率的想法感到焦慮,因爲我不知道如何執行以下操作:單元測試建議
1)測試每種功能的每種可能場景和數據組合。 I.E.我們的一個函數返回基於約20個輸入的值,每個輸入具有3個不同的可能值。一個人怎麼可能測試所有的值呢?如果我可以測試所有這些組合,我將不得不在測試中編寫完全相同的邏輯代碼,以確定它是否應該通過(不是多餘的?)。
2)數據和結果隨時間變化!例如,如果我針對上週租用汽車的員工人數進行查詢,隨着時間的推移,我會一直返回不同的結果。我如何編寫一個單元測試,知道如果結果每天都會變化,會有多少結果?
人們說,如果你正在爲單元測試掙扎,你做錯了,所以請賜教我如何最好地處理這些情況。
我很欣賞投票。如果有理由,我會更加感激。我很想知道什麼是單元測試變量的最佳實踐,這些變量隨時間而變化並且有可能的輸入。 – 2014-09-30 03:03:42
原因是沒有具體的問題。你基本上要求「單元測試建議」,你可以通過一個簡單的谷歌搜索找到(儘管我建議特別尋找BDD建議)。換句話說:你有什麼具體問題,你有什麼嘗試? – 2014-09-30 03:08:49
1)測試邊緣案例;並希望使用允許「數據驅動」測試的測試框架。 2)測試結果不應隨時間而改變,只能是數據。接受此類測試的時間參數(現在只是數據)*和*使用DI/IoC獲取時間對象,以便在測試中對其進行模擬!查詢的測試數據庫也應該不變(對於預期的數據/結果)。 – user2864740 2014-09-30 03:13:04