Как проверить 200 нормально с помощью NUnit - PullRequest
0 голосов
/ 14 февраля 2019

Я создал веб-API, который возвращает ответ 200 ok.

 public IHttpActionResult get()
 {
    return Ok();
 }

Кроме того, я создал тестовый проект с использованием инфраструктуры NUnit.

var controller = new StatusController();
var result= controller.level0() as OkNegotiatedContentResult<object>;
IHttpActionResult actionResult = controller.level0();
Assert.AreEqual(HttpStatusCode.OK, actionResult);

Но я получил такую ​​ошибку

Expected: OK
  But was:  <System.Web.Http.Results.OkResult>

Когда я пытаюсь отладить переменную 'actionResult', она содержит одну ошибку

Request = '((System.Web.Http.Results.OkResult)actionResult).Request' threw an exception of type 'System.InvalidOperationException'

Какпроверить код статуса http?

1 Ответ

0 голосов
/ 14 февраля 2019

На основании предоставленного контроллера вы, кажется, приводите результат к неверному типу.

Ok() возвращает экземпляр OkResult

. Проверьте тип возвращаемого значения, чтобы убедиться, что действиетестируемый ведет себя как ожидалось.

//Arrange
var controller = new StatusController();

//Act
IHttpActionResult actionResult = controller.get();

//Assert
Assert.IsInstanceOf<OkResult>(actionResult);

Ссылка Контроллеры модульного тестирования в ASP.NET Web API 2

...