मैं अपने मानक पर कुछ सरल एमएस यूनिट परीक्षण कर रहा हूं, कुछ विशेष नियंत्रक नहीं।यूनिट परीक्षण मेरे नियंत्रक विधि के परिणामस्वरूप एक खाली व्यूनाम में परिणाम?
जब मैं ViewName
प्रोपर्टी की जांच करता हूं, तो ViewResult
ऑब्जेक्ट से, यह ""
(खाली) है।
मुझे लगता है कि ViewName
View
(suggested by this MS article के रूप में एएसपी.नेट एमवीसी नियंत्रक परीक्षण पर) के नाम से निहित है।
बीटीडब्ल्यू, जब मैं व्यूडेटा का परीक्षण करता हूं, तो यह सब ठीक और सही है।
यहाँ कोड मैं है ...
public ActionResult Index(int? page, string tag)
{
if (page == null || page <= 0)
{
page = 1;
}
var viewData = new IndexViewData
{
... my property setters, etc ...
};
return View(viewData);
}
[TestMethod]
public void Index_Action_Should_Return_Index_View_For_Default_HomePage()
{
// Arrange.
var controller = PostController; // Wrapper, cause I use D.I.
// Act.
ViewResult viewResult = controller.Index(null, null) as ViewResult;
// Assert.
Assert.IsNotNull(viewResult);
Assert.AreEqual("Index", viewResult.ViewName); // This is false/fails.
var indexViewData = viewResult.ViewData.Model as IndexViewData;
Assert.IsNotNull(indexViewData); // This is true.
}
हेया। हम्म। मैं जो कह रहा हूं वह आपको नहीं मिलता है। "व्यूनाम केवल तभी मौजूद होता है जब आप इसे ViewResult में सेट करते हैं"। मैंने सोचा कि फ्रेमवर्क ऑटो सेट करता है? क्या आप कह रहे हैं कि यह स्वचालित रूप से सेट नहीं है? –
नहीं। जहां तक मैं व्यूनाम को बता सकता हूं कि जब तक आप इसे विशेष रूप से सेट नहीं करते हैं तब तक शून्य नहीं है। मेरा मानना है कि यदि यह शून्य या खाली है तो यह दृश्य नाम को कार्रवाई के नाम से खींचता है। – tvanfosson
>> मेरा मानना है कि यदि यह शून्य या खाली है तो यह क्रिया के नाम से दृश्य नाम खींचता है। << हम्म .. तो इसका मतलब है कि यह शून्य नहीं होना चाहिए, है ना? –