Unit Test for Static Elements (System.IO.File.ReadAllText) in ASP.NET Core 6 MVC
前言
接續前一篇 樂透開獎(含日期限制) 的例子, 假設有一個新的需求: "樂透開奬有一個前置作業, 必須由主辦人員按下[開始]按鈕, 才能開獎".
本文假設主辦人員按下[開始]按鈕, 會在主機端產生一個檔案 (Extras/startup.txt), 內含主辦人員的姓名.
因此, 程式要增加一個讀取檔案內容的動作.
- 若可讀到 Extras/startup.txt, 才可開獎, 並回傳開獎的結果, 要再加上主辦人員的姓名.
- 若讀不到 Extras/startup.txt, 則不可開獎, 並回傳警告訊息.
- "", -2, "主辦人員尚未按下[開始]按鈕". // 第1個空字串, 代表主辦人員的姓名
這裡很單純的想法, 是用 File.ReadAllText() 的方法, 因為是 static class + static method, 應該要如何建立測試呢?
以下係採 參考文件1..及2.. 方式進行演練及實作.