আমি আশা করি এই প্রশ্নটি কিছু আকর্ষণীয় উত্তর দেয় কারণ এটি এমন একটি যা আমাকে কিছুক্ষণের জন্য ডেকে আনে।
ASP.NET MVC- এ নিয়ামক পরীক্ষার ইউনিটটির কি কোনও বাস্তব মূল্য আছে?
এর দ্বারা আমি যা বোঝাতে চাইছি তা হ'ল বেশিরভাগ সময়, (এবং আমি কোনও বুদ্ধিমান নই), আমার নিয়ামক পদ্ধতিগুলি এমনকি তাদের সবচেয়ে জটিল কিছুতে:
public ActionResult Create(MyModel model)
{
// start error list
var errors = new List<string>();
// check model state based on data annotations
if(ModelState.IsValid)
{
// call a service method
if(this._myService.CreateNew(model, Request.UserHostAddress, ref errors))
{
// all is well, data is saved,
// so tell the user they are brilliant
return View("_Success");
}
}
// add errors to model state
errors.ForEach(e => ModelState.AddModelError("", e));
// return view
return View(model);
}
বেশিরভাগ ভারী-উত্তোলন এমভিসি পাইপলাইন বা আমার পরিষেবা লাইব্রেরি দ্বারা হয়।
তাই হয়ত জিজ্ঞাসা করা প্রশ্নগুলি হতে পারে:
- এই পদ্ধতির পরীক্ষার ইউনিটের মূল্য কী হবে?
- এটি কি একটি নালারফেরান এক্সেপশন
Request.UserHostAddress
এবং এরModelState
সাথে ভেঙে যাবে না ? আমি কি এগুলি উপহাস করার চেষ্টা করব? - যদি আমি এই পদ্ধতিটিকে পুনরায় ব্যবহারযোগ্য "সহায়ক" হিসাবে প্রতিবিম্বিত করি (যা আমি সম্ভবত কতবার করব তা বিবেচনা করে দেখি!), এটি পরীক্ষা করাও উপযুক্ত হবে যখন আমি সত্যিই পরীক্ষিত সমস্তই বেশিরভাগ "পাইপলাইন" যা, সম্ভবত, মাইক্রোসফ্ট দ্বারা জীবনের এক ইঞ্চি মধ্যে পরীক্ষা করা হয়েছে?
আমি মনে করি আমার বক্তব্য সত্যই , নিম্নলিখিতগুলি করা একেবারে অর্থহীন এবং ভুল বলে মনে হচ্ছে
[TestMethod]
public void Test_Home_Index()
{
var controller = new HomeController();
var expected = "Index";
var actual = ((ViewResult)controller.Index()).ViewName;
Assert.AreEqual(expected, actual);
}
স্পষ্টতই আমি এই অতিরঞ্জনীয় অর্থহীন উদাহরণটি সহকারে অবস্হায় আছি, তবে এখানে কারও কি যুক্তি যুক্তি আছে?
এটির অপেক্ষায় ... ধন্যবাদ