ASP.NET MVC2 uygulamamdaki bir eylem yöntemi, bir JsonResult nesnesi döndürür ve birim testimde, döndürülen JSON nesnesinin gerçekten beklenen değerleri içerdiğini kontrol etmek istiyorum. "dynamic" anahtar sözcüğü ve JSON verisi
bu çalıştı:1. dynamic json = ((JsonResult)myActionResult).Data;
2. Assert.AreEqual(JsonMessagesHelper.ErrorLevel.ERROR.ToString(), json.ErrorLevel);
Ama RuntimeBinderException " 'nesne' 'Errorlevel' tanımını içermiyor" olsun.
Ancak 2. hatta bir breakpoint ve json dinamik değişken incelemek zaman, belli ki ErrorLevel dizesini içermiyor (aşağıdaki resme bakın) ve o beklenen değere sahip çalışma zamanı bağlayıcı değildi eğer öyleyse Testin komik geçmesi geçerdi.
Ne alamıyorum? Neyi yanlış yapıyorum ve bunu nasıl düzeltebilirim? İddiayı nasıl geçebilirim?
it * çalışıyor * çalışıyor. Ve nasıl çalıştığını takdir ediyorum ama hala oldukça bir kesmek gibi görünüyor. Anonim bir nesnenin içeriğini sorgulamak için RouteValueDictionary kullanmak çok karşı sezgisel ... Ben sadece bu çözümü hatırlamak umuyor olabilir ki ben kendi başıma bununla geleceğini sanmıyorum. System.Web.dll içinde gizli olmayan bir şey, anonim nesnelerle aynı hile yapar farklı bir sınıf yok mu? (garip bu System.Web.Routing ad alanında yaşıyor, ancak System.Web.Routing.dll içinde değil) –