Comment puis-je obtenir le message d'erreur à partir d'un objet HttpResponse dans WebAPI?

J'ai un contrôleur qui génère une exception à partir du code suivant avec le message suivant:-

public HttpResponseMessage PutABook(Book bookToSave)
{
   return Request.CreateErrorResponse(HttpStatusCode.Forbidden, "No Permission");
}

suis en train de tester cette méthode avec le code suivant:-

var response = controller.PutABook(new Book());
Assert.That(response.StatusCode,Is.EqualTo(HttpStatusCode.Forbidden));
Assert.That(response.Content,Is.EqualTo("No Permission"));

Mais je reçois une erreur que le contenu n'est pas "Sans Autorisation". Il semble que je ne peux pas jeter la réponse à une HttpError d'obtenir soit le contenu du message "Pas d'Autorisation". Le code d'état est retourné amende. Juste de la difficulté à obtenir le message content.

Il me semble avoir une sorte de solution pour ce qui est de l'utilisation de la réponse.Contenu.ReadAsAsync<HttpError>().Résultat de me donner le message. Vous ne savez pas si il ya une meilleure façon.

OriginalL'auteur TDD Junkie | 2013-06-13