当前项目有一个Razor页面集合,该集合具有关联的PageModel。页面模型在某种程度上实现了业务逻辑,因此需要进行单元测试。页面模型本身是基本的,具有可模拟的注入服务,因此可以直接进行测试。
public class CreateBranchModel : PageModel
{
[BindProperty]
public string Name { get; set; }
[BindProperty]
public string GuidId { get; set; }
private readonly IContextService _context;
public CreateBranchModel(IContextService context)
{
_context = context;
Name = string.Empty;
GuidId = string.Empty;
}
public void OnGet(string guidId)
{
GuidId = guidId;
}
public async Task<IActionResult> OnPost(string guidId)
{
if (string.IsNullOrEmpty(Name))
{
ModelState.AddModelError("NameEmpty", "The name of the branch should not be empty");
return Page();
}
await _context.CreateNewBranch(GuidId, Name);
return RedirectToPage("/ViewAll/Branches", new{ siteGuidId = guidId });
}
}
问题是ExecuteAsync
方法,我假设它是从RazorPage
类中提取的。
因为它是微软的代码,我真的不想为应用程序中的每个页面调用和单元测试它。
在Resharper中是否有一种方法可以“排除”一个特定的继承方法?
1条答案
按热度按时间t5fffqht1#
您可以尝试通过在
Pages
类中为方法ExecuteAsync
添加覆盖过滤器来过滤dotCover结果(see official docs)。