次のようなコントローラーの単体テストを作成しています。
public HttpResponseMessage PostLogin(LoginModel model)
{
if (!ModelState.IsValid)
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
モデルは次のようになります。
public class LoginModel
{
[Required]
public string Username { set; get; }
[Required]
public string Password { set; get; }
}
次に、次のような単体テストがあります。
[TestMethod]
public void TestLogin_InvalidModel()
{
AccountController controller = CreateAccountController();
...
var response = controller.PostLogin(new LoginModel() { });
Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
}
実際には ModelState が検証されています...両方のフィールドが必要なので、これは私にとって奇妙です...誰かアドバイスできますか?