- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个基本 Controller ,我在 OnActionExecutionAsync
方法中设置了一些通用 Controller 属性,然后在 OnActionExecuted
方法中设置了一些通用 View 模型属性这工作正常,但我现在需要为它编写一些单元测试。对我来说没有 tdd..
我的代码是:
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
//set some controller properties
await base.OnActionExecutionAsync(context, next);
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
//set some other viewmodel properties
base.OnActionExecuted(filterContext);
}
我在 OnActionExecutionAsync
测试中遇到的问题是,除了模拟上下文很痛苦之外,当方法完成时,它会自动调用 OnActionExecuted
方法,并因 ActionExecutedContext
为空而倒下。我假设我需要调用 await base.OnActionExecutionAsync(context, next);
,而不是简单地 await next();
?继续管道,虽然检查了 github 中的 Controller
代码,但当 ActionExecutingContext 的结果为 null aspnet core controller on GitHub 时,基本实现似乎只调用 OnActionExecuted
知道如何在不跳转到 OnActionExecuted
的情况下让我的测试工作吗?
最佳答案
您正在进行集成测试。当事情变得难以测试时,这是一个非常明显的迹象,表明您远远超出了单元测试的范围,应该退后一步并重新评估。如果您希望确保某些功能有效,请创建一个封装该功能的方法,然后测试该。您可以安全地假设 OnActionExecutionAsync
等将按预期运行并调用您的方法,因为该功能已经在 MVC 代码库中进行了测试。
关于unit-testing - 单元测试基础 Controller OnActionExecutionAsync 和 OnActionExecuted 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46098692/
这里我想从自定义 Action 过滤器返回,而不执行中的controller action method >asp.net core WEB API. 以下是我对示例 code 的要求。 public
我有一个基本 Controller ,我在 OnActionExecutionAsync 方法中设置了一些通用 Controller 属性,然后在 OnActionExecuted 方法中设置了一些通
我有一个基本 Controller ,我在 OnActionExecutionAsync 方法中设置了一些通用 Controller 属性,然后在 OnActionExecuted 方法中设置了一些通
我是一名优秀的程序员,十分优秀!