ASP.NET MVC non aggiunge ModelError quando si richiama da test di unità
-
24-09-2019 - |
Domanda
Ho un elemento del modello
public class EntryInputModel
{
...
[Required(ErrorMessage = "Description is required.", AllowEmptyStrings = false)]
public virtual string Description { get; set; }
}
ed un'azione di controllo
public ActionResult Add([Bind(Exclude = "Id")] EntryInputModel newEntry)
{
if (ModelState.IsValid)
{
var entry = Mapper.Map<EntryInputModel, Entry>(newEntry);
repository.Add(entry);
unitOfWork.SaveChanges();
return RedirectToAction("Details", new { id = entry.Id });
}
return RedirectToAction("Create");
}
Quando creo un EntryInputModel
in un test di unità, impostare la proprietà Description
per null
e passarlo al metodo di azione, ho ancora ModelState.IsValid == true
, anche se ho il debug e verificato che newEntry.Description == null
.
Perché non si questo lavoro?
Soluzione
Questo perché il modello di legame non avviene quando si richiama un'azione da un test. vincolante modello è il processo di mappatura pubblicato i valori della forma a un tipo e passare come parametro a un metodo di azione.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow