17

次のメッセージで次のコードから例外を生成するコントローラーがあります:-

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

このメソッドを次のコードでテストしています:-

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

しかし、コンテンツが「許可なし」ではないというエラーが発生しています。HttpErrorメッセージの内容「許可なし」を取得するために、応答をどちらかにキャストできないようです。ステータスコードは正常に返されます。を取得するのに苦労していmessage contentます。

4

4 に答える 4

3

次のことを試すことができます。

var errorContent = await response.Content.ReadAsAsync<HttpError>();
Assert.That(errorContent.Message,Is.EqualTo("No Permission"));
于 2013-06-13T08:23:56.487 に答える
0

このようにエラーメッセージを読んでください。

var ErrMsg = JsonConvert.DeserializeObject<dynamic>(response.Content.ReadAsStringAsync().Result);
于 2021-01-05T10:16:46.260 に答える