Я разрабатываю приложение MVC и пытаюсь создать в нем единичный тест.Ошибка в модульном тесте подробно в MVC App
Я написал модульный тест, как показано ниже.
[TestMethod]
public void Company_Details2()
{
Company oCompany = new Company();
var result = oCompanyController.Details(97) as ViewResult;
var Comp = (Company)result.ViewData.Model;
Assert.AreEqual("TName", Comp.Name);
}
и контроллер выглядит следующим образом:
[SessionFilterAction]
public ViewResult Details(int id)
{
Company company = db.Companies.Find(id);
return View(company);
}
Когда я пытаюсь запустить тест блока он возвращает ошибку в методе испытания на последнюю строку: эталонный
объекта не установлен в экземпляр объекта.
Как я новичок в модульном тестировании, я не знаю, как написать методы тестирования для индексирования, создания, редактирования, сведений и методов удаления, где я могу его найти?
Спасибо Дарин, но я совершенно не осведомлен о ICompaniesRepository и модах ... Что это такое? – bnil
Будет хорошо, если я получу изменения, которые я должен внести в свой текущий код. – bnil
Вы ожидаете, что я расскажу вам об изменениях в вашем текущем коде, не показывая ваш текущий код? То, что вы показали, представляет собой лишь небольшую часть кода. Идея заключается в использовании интерфейса, который будет абстрагировать все операции доступа к данным, чтобы ваш контроллер не был тесно связан с конкретным поставщиком доступа к данным.Если вы не знаете, что такое интерфейс, я бы очень сильно предложил вам прочитать некоторые базовые учебные пособия в .NET/C# перед тем, как попасть в ASP.NET MVC. –