Nói rằng tôi có một cái nhìn với đoạn mã sau ở phía trên cùng của trang:Có cách nào để kiểm tra đơn vị thuộc tính ASP.NET MVC ViewBag được đặt trong chế độ xem không?
@{
ViewBag.Title = "About Us";
Layout = "~/Views/Shared/_Layout.cshtml";
}
Và tôi có một phương pháp điều khiển:
public ActionResult About()
{
return View();
}
Làm thế nào tôi có thể kiểm tra xem ViewBag được thiết lập đúng?
Tôi đã thử mã sau.
[TestCase]
public void About()
{
var controller = new AboutController();
var ar = controller.About() as ViewResult;
Assert.AreEqual("About Us", ar.ViewBag.Title);
}
Nhưng tôi nhận được kết quả sau khi tôi chạy thử nghiệm:
Tests.Controllers.AboutControllerTests.About():
Expected: "About Us"
But was: null
Tôi cũng sử dụng phương pháp ghi luồng/trình đọc luồng @Darin đề xuất. – neontapir
Bất cứ ai xem điều này và từ bỏ việc giải quyết vấn đề, hãy cuộn xuống câu trả lời của @ phil.wheeler, nó đã giúp tôi! 'ViewData [yourKey]' hoặc 'ViewData [" Title "]' NB, điều này làm việc nếu bạn đặt giá trị 'Viewbag.Title' trong bộ điều khiển, không phải trong' cshtml' –
Nó có thể kiểm tra được. Vui lòng chọn câu trả lời đúng – MJK