[Unit Test] 單元測試 Model 驗證
MVC 在寫商業邏輯驗證的時候,通常都會寫在Model裡面,這好處除了統一的寫法之外,單元測試也很好寫,今天就來說明如何單元測試 Model 驗證。
首先我們會有一個要被驗證的 Model1
2
3
4
5
6
7
8
9
10
11
12
13
14
15public class VM : IValidatableObject
{
[ ]
public string Email { get; set; }
public string Name { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if (this.Name == "Test")
{
yield return new ValidationResult("Please, set right name");
}
}
}
使用 Validator 驗證 Model
寫單元測試的話,其實很簡單,只要用 Validator.TryValidateObject
就能夠知道是否驗證成功,以及取得錯誤訊息。
所以寫單元測試就兩個重點要記得,這樣就能輕易寫 Model 驗證的單元測試了:
Validator.TryValidateObject
回傳是否驗證成功- 傳入
List<ValidationResult>
取得錯誤訊息
- cs
1 | [ ] |