单元测试 ASP.NET MVC 重定向

2024-01-13

如何对 MVC 重定向进行单元测试?

public ActionResult Create(Product product)
{
    _productTask.Save(product);
    return RedirectToAction("Success");   
}

public ActionResult Success()
{ 
     return View();
}

Is Ayende's http://www.ayende.com/Blog/archive/2007/12/13/Dont-like-visibility-levels-change-that.aspx方法仍然是最好的方法,预览 5:

 public static void RenderView(this Controller self, string action) 
 {
    typeof(Controller).GetMethod("RenderView").Invoke(self,new object[] { action} ); 
 }

必须这样做似乎很奇怪,特别是当 MVC 团队表示他们正在编写可测试的框架时。


[TestFixture]
public class RedirectTester
{
    [Test]
    public void Should_redirect_to_success_action()
    {
        var controller = new RedirectController();
        var result = controller.Index() as RedirectToRouteResult;
        Assert.That(result, Is.Not.Null);
        Assert.That(result.Values["action"], Is.EqualTo("success"));
    }
}

public class RedirectController : Controller
{
    public ActionResult Index()
    {
        return RedirectToAction("success");
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单元测试 ASP.NET MVC 重定向 的相关文章

随机推荐

  • 如何获取 SLURM 数组作业中失败和已完成作业的计数

    我正在使用 slurm 运行多个数组作业 对于给定的数组作业 ID 假设为 885881 我想列出失败作业和已完成作业的计数 像这样的事情 Input
  • async 是否会使其中的所有内容异步?

    据 MDN 报道 async 函数声明定义了一个异步函数 我理解它是因为该函数将被视为异步进程 就像setTimeout或一些数据库请求 例如 在下面的示例中 进程应在数字之间的某个位置输出 main let func2 async gt
  • FiPy 中的固定通量边界条件

    我对此主题有一个后续问题FyPi 中的耦合非线性方程 https stackoverflow com questions 62640821 coupled non linear equations in fypi 当对所有变量使用诺依曼边界
  • 带镀铬的背景中心(错误)

    我有一张居中的背景图像 Chrome 显示偏移一个像素 CSS container background url images header jpg no repeat scroll 50 transparent width 100 hea
  • EF CORE 中的 DbFunctions.TruncateTime LINQ 等效项

    我的 net 应用程序中有以下功能正常的 LINQ public ActionResult Index Dictionary
  • 如何在 SQL Server 中创建参数化 XPath 查询?

    我正在尝试在 SQL Server 中编写一个参数化查询 该查询使用参数值作为 XPath 的一部分 但它似乎没有按照我期望的方式工作 这是我的样本 create table example xmltest xml declare Lang
  • 如何添加本地项目(不是 jar)作为 Maven 项目的依赖项

    我有两个 Maven 项目 我已将它们作为两个模块添加到一个 Intellij Idea 的项目中 项目 B 依赖于项目 A 以下是其 pom xml 文件的简化版本 项目A
  • Android 相机 - 预览尺寸、图片尺寸、裁剪和扭曲

    我的应用程序需要以纵向模式捕获一些给定尺寸 比如说宽x高 的图片 一般情况下 相机不支持我想要的尺寸 宽x高 因此我需要裁剪拍摄的图片以符合我的规格 这个看似简单的程序让我对预览和图片尺寸和格式之间 良好 对应的问题感到疯狂 让我解释 我需
  • android.database.sqlite.SQLiteException:无法将 Android 短信数据库的数据库从版本 58 降级到 55

    当我的 Android 应用程序尝试读取 Android 短信数据库时 我遇到此崩溃 读取android短信数据库的代码类似于以下代码片段 String SMS URI content sms Uri uri Uri parse SMS U
  • 如何在 Windows 上用 C/C++ 为文件预分配空间?

    我正在向使用纯 C 函数的现有代码库添加一些功能 fopen fwrite fclose 将数据写入文件 不幸的是 我无法更改文件 i o 的实际机制 但我必须为文件预先分配空间以避免碎片 这会影响读取期间的性能 有没有比实际将零或随机数据
  • WebRTC 视频不显示

    我正在创建一对一的 webrtc 视频聊天室 但此代码不起作用 我想知道为什么 function hasUserMedia navigator getUserMedia navigator getUserMedia navigator we
  • 从 Android 设备发送 HTTPS/HTTP POST 时出现 UnknownHostException

    我正在尝试创建一个到 Google 服务器的 HTTP POST 来获取 ClientLogin Auth 如所述here http code google com android c2dm index html push 这篇文章的源代码
  • 视图中的 ASP.NET Web Api [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在这种情况下通过 webapi 创建一个登录页面 我不想使用令牌 但视图应该是安全的 不是直接在 URL 中调用 如果用户是管理员
  • CSS 替代行 - 隐藏一些行

    我正在尝试设计表格 使每一行都有不同的颜色 奇数 偶数 我有以下 CSS woo tr nth child even td background color f0f9ff woo tr nth child odd td background
  • 两阶段查找 - 需要解释

    编译器使用两阶段查找来编译模板类是什么意思 模板被编译 至少 两次 如果没有实例化 则会检查模板代码本身的语法 例如 任何语法错误 例如 etc 在实例化时 当确切类型已知时 将再次检查模板代码以确保所有调用对于该特定类型都有效 例如 模板
  • httr 有时会将 URL 中的“%”替换为“%25”

    使用时httr GET 在某些查询中它会替换 具有安全代表 25 但在其他查询中则不然 我找不到任何规则可以实现这种情况 我正在使用 httr 1 4 1 示例查询在哪里 被替换 请注意错误代码 并且输入的 URL 与返回的响应对象中的 U
  • Google Chromecast SDK 在后台拆解

    使用 iOS Sender API 框架 当我的应用程序进入后台时 SDK 会断开所有连接 并且我无法启动更多媒体 直到应用程序返回前台 我的应用程序播放音频并允许在后台运行和流式传输 是否有一个选项可以告诉 Googlecast 框架保持
  • 从 C# 中的 Richtextbox 中选择文本

    我想选择 RichTextBox 文本的最后一个 和 之间的文本 我有下一个代码 但 LastIndexOf 函数有错误 我不知道如何修复它 有人可以给我一些帮助吗 private void highlightText mRtbxOpera
  • 我应该如何将 Java 代码转换为 C# 代码?

    我正在将 Java 库移植到 C 我使用的是 Visual Studio 2008 因此没有已停止使用的 Microsoft Java 语言转换助手程序 JLCA 我的方法是创建一个与 Java 库类似的项目结构的新解决方案 然后将 jav
  • 单元测试 ASP.NET MVC 重定向

    如何对 MVC 重定向进行单元测试 public ActionResult Create Product product productTask Save product return RedirectToAction Success pu