SpringMVC单元测试之MockMVC,模拟登录

2023-11-15

在一些实际开发中,很多情况下需要对数据库进行操作,但是这里的操作就设计到用户权限,所谓权限验证就是拿到用户客户端登录后的token,在代码中进行校验,一般都是在controller层首先进行校验,如果校验成功,则执行之后操作,否则,采取相应措施,或者返回到登录界面或者错误界面,这里看业务需要。

但是我们都知道,实际项目中单元测试是必不可少的,尤其对controller层的接口进行逐个测试,需要的话,service层和mapper层(dao层)都是需要进行单元测试的。但是对于初次进行单元测试的人来说,可能会遇到一些小问题,就是按照之前的方式写代码,在test的方法中自定义参数,然后调用需要测试的方法,这个应该都没有问题吧,但是怎样拿到用户登录时的token呢?嘿,这里就用到了我们今天说的模拟登录了。下面我们看一下代码:

首先是controller层:

@PostMapping("/order")
    public Result insert(@RequestBody Map<String, Object> map, HttpServletRequest request) {
        //获得创建人id
        Map<String, Object> create_or_update = CreateOrUpdateutil.getCreateOrUpdateUserId(request);
        if (create_or_update == null) {
            return ResultGenerator.getFailResult
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringMVC单元测试之MockMVC,模拟登录 的相关文章

  • 在Windows Server 2003下如何在本地系统帐户下运行jvisualvm.exe?

    我在带有 Java 1 6 u 20 的 Windows Server 2003 下将 GlassFish 3 0 1 作为 Windows 服务运行 总体上我很满意 我希望能够在这个 JVM 上使用 VisualVM 并使用无法在 Tom
  • 在不支持 CAS 操作的处理器上进行 CompareAndSet

    今天 我在一次采访中被问到下一个问题 如果您在具有不支持 CAS 操作的处理器的机器上调用 AtomicLong 的compareAndSet 方法 会发生什么情况 您能否帮我解决这个问题 并在可能的情况下提供一些全面描述的链接 From
  • Java LostFocus 和 InputVerifier,按反向制表符顺序移动

    我有一个 GUI 应用程序 它使用 InputVerifier 在产生焦点之前检查文本字段的内容 这都是很正常的 然而 昨天发现了一个问题 这似乎是一个错误 但我在任何地方都找不到任何提及它的地方 在我将其报告为错误之前 我想我应该问 我在
  • 无法使用 datastax java 驱动程序通过 UDT 密钥从 cassandra 检索

    我正在尝试使用用户定义的类型作为分区键将对象存储在 cassandra 中 我正在使用 datastax java 驱动程序进行对象映射 虽然我能够插入到数据库中 但无法检索该对象 如果我更改分区键以使用非 udt 例如文本 我就能够保存和
  • 自定义列表字段点击事件

    我正在编写一个应用程序 其中我创建了用于显示列表视图的自定义列表字段 我的 CustomListField 包含连续的一个图像和文本 我正在通过单击列表字段行获取字段更改侦听器 但我也想将字段更改侦听器放在图像上 谁能告诉我我该怎么做 这是
  • 未装饰窗户的 Windows Snap 功能?

    有谁知道如何允许未装饰的窗户使用此功能 唯一的选择就是重新实施它 有任何想法吗 谢谢 可停靠可能是唯一的JToolBar http docs oracle com javase tutorial uiswing components too
  • Java中Gson、JsonElement、String比较

    好吧 我想知道这可能非常简单和愚蠢 但在与这种情况作斗争一段时间后 我不知道发生了什么 我正在使用 Gson 来处理一些 JSON 元素 在我的代码中的某个位置 我将 JsonObject 的 JsonElements 之一作为字符串获取
  • getCurrentSession 在网络中休眠

    我正在使用 hibernate 和 jsp servlet 编写一个基于 Web 的应用程序 我读过有关sessionFactory getCurrentSession and sessionFactory openSession方法 我知
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • Mockito 和 Hamcrest:如何验证 Collection 参数的调用?

    我遇到了 Mockito 和 Hamcrest 的泛型问题 请假设以下界面 public interface Service void perform Collection
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • 如何在 IntelliJ IDEA 中运行 akka actor

    来自 Akka 网站文档 然后 这个主要方法将创建所需的基础设施 运行演员 启动给定的主要演员并安排 一旦主要参与者终止 整个应用程序就会关闭 因此 您将能够使用类似于以下的命令运行上面的代码 下列的 java classpath akka
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • Joshua Bloch 的构建器设计模式有何改进?

    早在 2007 年 我就读过一篇关于 Joshua Blochs 所采用的 构建器模式 的文章 以及如何修改它以改善构造函数和 setter 的过度使用 特别是当对象具有大量属性 其中大部分属性是可选的 时 本文对此设计模式进行了简要总结
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • 确定 JavaFX 中是否消耗了事件

    我正在尝试使用 JavaFX 中的事件处理来做一些非滑雪道的事情 我需要能够确定手动触发事件后是否已消耗该事件 在以下示例中 正确接收了合成鼠标事件 但调用 Consumer 不会更新该事件 我对此进行了调试 发现 JavaFX 实际上创建
  • 带 getClassLoader 和不带 getClassLoader 的 getResourceAsStream 有什么区别?

    我想知道以下两者之间的区别 MyClass class getClassLoader getResourceAsStream path to my properties and MyClass class getResourceAsStre
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve

随机推荐

  • HTTPS的加密过程

    HTTPS HTTPS即加密的HTTP HTTPS并不是一个新协议 而是HTTP SSL TLS 原本HTTP先和TCP 假定传输层是TCP协议 直接通信 而加了SSL后 就变成HTTP先和SSL通信 再由SSL和TCP通信 相当于SSL被
  • 【数据结构与算法——TypeScript】数组、栈、队列、链表

    数据结构与算法 TypeScript 算法 Algorithm 的认识 解决问题的过程中 不仅仅 数据的存储方式会影响效率 算法的优劣也会影响效率 什么是算法 定义 一个有限指令集 每条指令的描述不依赖于言语 编写指令 java c ts
  • (十八)Mybatis的XML文件中不允许出现“>“

    mybatis XML文件中不允许出现 gt lt 之类的符号 需要转义 是可以正常 关于elasticsearch中 gt gte lt lte缩写的含义
  • 反序列化漏洞原理/防御

    序列化就是将对象转换成字节流 可以更方便的将数据保存到本地文件 反序列化就是将字节流还原成对象 Java中提供了两个接口来支持序列化 ObjectIutputStream 和ObjectOutputStream 序列化相对安全 问题出在反序
  • html烟花特效,发射粒子特效,爱心特效,动态祝福、节日祝福网页,时间罗盘,黑客帝国代码雨、文字闪烁、表白爱心网页等等(附下载链接)

    粒子炫酷特效网页 html css js 大家都觉得程序员的工作很枯燥乏味 今天我就带大家看看程序员开发的那些漂亮的网页效果 点我下载源码 1 烟花特效 粒子特效 节日祝福 表白爱心网页 动态泡泡网页 动态蝴蝶网页 七叶草动态飘落网页 时间
  • Linux学习-Linux系统及编程基础笔记

    useradd zhangsan passwd zhangsan visudo往 etc sudoers文件中添加zhangsan visudo 找到如下的行 root ALL ALL ALL 往该行下面添加zhangsan zhangsa
  • 深度学习与机器学习的思考

    需要一些传统图像处理知识为佳 end to end 端到端 说的是 输入的是原始数据 始端 然后输出的直接就是最终目标 末端 中间过程不可知 因此也难以知 就此 有人批评深度学习就是一个黑箱 Black Box 系统 其性能很好 却不知道为
  • PostgreSQL 计算逾期率

    描述 计算下ylhx4 cxh xinyanfeature表 小鲨中部分用新颜的数据 中的1999个用户 首次借款第一期 第二期的d0和d15的逾期率 还款信息在transformdata xsfinrak表 小鲨用户 中 psperdno
  • 中点分割裁剪算法

    中点分割裁剪算法 python 实验目的 采用中点分割方法找到距离线段顶点最近的可见点 找到后 进行绘制 即可实现直线段在裁剪窗口的裁剪显示 算法思想 设要裁剪的线段是P1P2 中点分割算法可分成两个平行的过程进行 即从P1点出发找出离P1
  • Git基础操作:本地分支和远程分支改名

    相信聪明的你 直接看代码就能看懂 本地分支改名 git branch m feature add header2 feature add header 删除远程分支 git push origin feature add header2 本
  • FlashAttention

    一 论文题目 发表处 时间 FlashAttention Fast and Memory Efficient Exact Attention with IO Awareness 二 主要方向 新型注意力机制 三 细化任务 一种具有 IO 感
  • 2022深圳杯C题思路解析

    题目描述 继续更新 再更问题三 继续更新第一问 第四问 1 2 问题重述 在制定电动车调度方案时 必须考虑充 换电池的时间成本 从而提出了新 的车辆运输选址及调度问题 1 已知自动驾驶电动物料车在取料点 P 和卸货点 D 之间往复运送物料
  • Qt 对象树

    作者 billy 版权声明 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 Object Tree Model 先来看一下 QObject 的构造函数 通过帮助文档我们可以看到 QObject 的构造函数中会传入一个 P
  • Linux ./configure --prefix 命令是什么意思?

    Linux configure prefix 命令是什么意思 源码的安装一般由3个步骤组成 配置 configure 编译 make 安装 makeinstall Configure是一个可执行脚本 它有很多选项 在待安装的源码路径下使用命
  • D - Meeting Bahosain Gym - 102263D

    Essa wanted to meet the most powerful number theorist of all time Bahosain but Bahosain does not waste his precious time
  • 凸优化学习(四)——凸优化问题

    注意 本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目 https github com Kivy CN Stanford CS 229 CN 中的凸优化部分的内容进行翻译学习 4 凸优化问题 利用凸函数和集合的定义 我们现在可以考
  • CSS——快速入门

    CSS的优势 1 内容和表现分离 2 网页结构表现统一 3 样式十分的丰富 4 建议使用独立于HTML的CSS文件 5 利用SEO 容易被搜索引擎收录 style
  • oracle 重复列只显示一次的实现

    CREATE TABLE test ob id VARCHAR 32 ob name VARCHAR 32 INSERT INTO test VALUES A001 A001 a INSERT INTO test VALUES A001 A
  • Golang 变量作用域陷阱 误用短声明导致变量覆盖

    var remember bool false if something remember true 错误 使用remember 在此代码段中 remember 变量永远不会在 if 语句外面变成 true 如果 something 为 t
  • SpringMVC单元测试之MockMVC,模拟登录

    在一些实际开发中 很多情况下需要对数据库进行操作 但是这里的操作就设计到用户权限 所谓权限验证就是拿到用户客户端登录后的token 在代码中进行校验 一般都是在controller层首先进行校验 如果校验成功 则执行之后操作 否则 采取相应