La charge de chaîne JSON à HttpRequestMessage
Je suis en train d'écrire quelques tests pour mon WebAPI service web et ne peut pas comprendre comment faire JSON à ma méthode de service dans le test.
ScheduleRequest sr = new ScheduleRequest();
sr.Months = null;
sr.States = null;
sr.Zip = null;
sr.Miles = null;
sr.PCodes = null;
sr.PageStart = 1;
sr.PageLimit = 10;
HttpRequestMessage m = new HttpRequestMessage();
string sr_ = JsonConvert.SerializeObject(sr);
//How do I load it into the HttpRequestMessage???
//m.Content. = sr_;
var controller = new ShoppingCartController();
//Call the controlelr method and test if the return data is correct.
EventSyncResponse res = (EventSyncResponse)controller.CourseSchedule(m);
Suis-je le faire correctement, trop?
Contrôleur De Code:
public object CourseSchedule(ScheduleRequest request)
{
try
{
var result = cart.GetCourseSchedule(request);
return Ok(result);
}
catch (Exception ex)
{
if (ex.Message.StartsWith(@"ORA-20001"))
{
return Ok(new ParticipantResponse { FirstName = "No record found" });
}
throw ex;
}
}
- La plupart des autres méthodes peuvent être testés par OBTENIR et n'ont pas besoin de données JSON en tant que paramètres.
Vous devez vous connecter pour publier un commentaire.
Mais j'ai l'impression que votre Action devrait en fait être remaniée comme cela dans votre contrôleur
ce qui signifie que votre unité isolée test doit être refait...
MB34.
Vous devez ajouter dans votre méthode, un ScheduleRequest paramètre trop.
Suivez ce lien:
http://www.lybecker.com/blog/2013/06/26/accessing-http-request-from-asp-net-web-api/