여기 컨트롤러 액션의 일부 때 검증되지 않습니다 다음 if 문 심지어 호출되기 전에모델은 자동으로 단위 테스트
[HttpPost]
public ActionResult NewComplaint(Complaint complaint)
{
if(!ModelState.IsValid)
{
// some code
}
// some more code...
}
응용 프로그램을 실행 모델은 자동으로 확인됩니다. 그러나이 코드를 단위 테스트하려는 경우 자동 유효성 검사가 수행되지 않습니다.
FormCollection을 사용하고 대신 TryUpdateModel을 호출하면 유효성 검사가 수행되지만이를 사용하고 싶지 않습니다.
if 문이 문제를 해결하기 전에 TryValidateModel (model)을 호출하는 것이 좋습니다. 한 줄의 추가 코드 만 필요합니다. 나는 차라리 그것을 없앨 것입니다.
단위 테스트시 자동 유효성 검사가 발생하지 않지만 응용 프로그램이 실행될 때 발생하는 이유는 무엇입니까?
편집 : ASP.NET MVC3 RC1을 사용하고 그 결합 모델 중
남자, 지금은 어리석은 생각합니다. 그냥 그 일을해야하거나 조롱했다. 테스트를 통해 mock을 통해 ModelState를 설정하는 대신 유효성 검사를 통과하는 데 필요한 모든 속성/항목이있는 object/formCollection을 만듭니다. – xTRUMANx
marcind, 프레임 워크가 대부분의 단위 테스트를위한 범위를 벗어나는 테스트를받습니다. 그러나 정확한 데이터 주석이 지정되었는지 테스트해야합니다. – wilk