我有一个关于在Asp.net Mvc 5应用程序中创建"瘦控制器"的实现的问题.在过去的几天里,我研究了这个主题,我相信我需要一个具体的例子,以便在理解中连接点.
所以,我想在我的应用程序中使用单元测试.我已经看了创建视图模型工厂和工人,瘦控制器,脂肪模型,但我不肯定唱诗班如何实现任何,我已经在这个特殊的情况下了解这些设计模式.
您可以在下面找到我的管理控制器中的5种不同操作.我担心它们闻起来需要一些清理以简化测试/单元测试.我知道这些类型的问题通常没有"正确的答案",所以我非常感谢所有有助于简化测试我的应用程序的答案.
这是我的行动:
行动#1:
[HttpPost]
[ValidateAntiForgeryToken]
[Authorize(Roles = "DM_Admin")]
public async Task<ActionResult> Users_Create([DataSourceRequest] DataSourceRequest request, ManageUsersViewModel model)
{
if (model != null && ModelState.IsValid)
{
// instantiate new application user
var user = new ApplicationUser
{
UserName = model.Email,
Email = model.Email,
FirstName = model.FirstName,
LastName = model.LastName
};
// format the RolesList to type List<string> for entry
List<string> rolesToAssign = getRoleNameList(model);
try
{
// persist user to User Db
var createResult = await UserManager.CreateAsync(user, model.Password);
if …
Run Code Online (Sandbox Code Playgroud)