我有一个功能性 CRUD 应用程序,(简单地说)可以通过 GUI 从 localdb 创建、读取、更新和删除教师。
关于创建,我在控制器中有两个操作结果:
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create(ModelTeacher oTeacher)
{
if (!ModelState.IsValid)
{
// Return to the view with the validation error messages
return View(oTeacher);
}
db.DbTeachers.Add(oTeacher);
db.SaveChanges();
return RedirectToAction("SuccessCreate", "Teacher");
}
我还没有找到适合我的关于如何测试 CRUD 的资源。我更喜欢进行集成测试并进行 CRUD 操作,因此最终测试(删除)会将其从数据库中删除。我觉得模拟数据库没有必要,因为它是一个很小的localdb。
我测试这个控制器的想法是在测试项目中重新创建一个控制器,创建一个教师,找到它并断言它不为空。但看来搭建测试环境并没有那么简单。
这个 github 存储库帮助我理解了。我缺乏依赖注入,这是我推迟学习的一个概念。