Skip to main content

驗證例外

定義

驗證功能拋出的例外狀況與預期相符合。

流程

測試情境

  1. 有一個類別 LogAnalyzer,這類別提供 Log 相關的功能。
  2. 有一個方法IsValidLogFileName,可以用來檢查 log 檔案的附檔名是符合規範,且不區分大小寫。
  3. 當檔名為空時,需要拋出 Exception: ArgumentException
  4. 需要撰寫單元測試驗證這個方法的正確與否。
warning

下面的範例內容都很單純,不過不同測試框架的作法或是功能上會略有不同,寫法無法完全一致。
如果需要搭配練習,建議理解後,依目前自己正在使用/學習的工具嘗試看看。

以下範例的實際專案可以參考這裡

範例

namespace Lab.Test.Unit.LogNotification;

public class LogAnalyzer
{
public bool IsValidLogFileName(string fileName)
{
if (string.IsNullOrEmpty(fileName))
{
throw new ArgumentException("fileName has to be provided");
}

var isValid = fileName.EndsWith(".SLF", StringComparison.CurrentCultureIgnoreCase);

return isValid;
}
}

案例參考

單元測試的藝術