Тестирование действия контроллера, возвращающего JsonResult , не должно отличаться от тестирования других действий. Рассмотрим следующий сценарий:
public class MyModel
{
public string Name { get; set; }
}
public class HomeController : Controller
{
public ActionResult Index()
{
return Json(new MyModel { Name = "Hello World" });
}
}
И модульный тест (извините, это MSTest, у меня нет NUnit atm, но он должен быть довольно прямолинейным):
// arrange
var sut = new HomeController();
// act
var actual = sut.Index();
// assert
Assert.IsInstanceOfType(actual, typeof(JsonResult));
var jsonResult = (JsonResult)actual;
Assert.IsInstanceOfType(jsonResult.Data, typeof(MyModel));
var model = (MyModel)jsonResult.Data;
Assert.AreEqual("Hello World", model.Name);