BrokeredMessage Azure ServiceBus 的虚假传递和接收

2024-04-09

我创建了一个 BrokeredMessage 实例,并希望围绕它的传递计数与队列的最大传递计数来测试我的代码。我不想建立一个真正的队列来发送和接收消息,但在消息传递之前,deliverycount 属性不会初始化。我怎样才能伪造这个?


我设法模拟了这一点,并让它为完整和放弃消息创建一个包装器。在没有包装器的情况下进行单元测试时,我被 message.Complete() 绊倒了。

创建一个类和接口来处理消息操作。

    public class MainServiceBusClientWrapper : IServiceBusClientWrapper
    {
        public void Complete(BrokeredMessage message) => message.Complete();
        public void Abandon(BrokeredMessage message) => message.Abandon();
    }

在处理传入服务总线消息的类中执行此操作:

private IServiceBusClientWrapper _serviceBusWrapper;

_serviceBusWrapper.Complete(message);

代替:

message.Complete();

在单元测试中,您可以执行类似以下操作,以免 BrokeredMessage 操作失败:

_serviceBusWrapper.Setup(p => p.Complete(It.IsAny<BrokeredMessage>()));

我希望这有帮助!

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

BrokeredMessage Azure ServiceBus 的虚假传递和接收 的相关文章

随机推荐

  • 无法在 iOS 上将 CIImage 保存到文件而不发生内存泄漏

    下面的代码片段保存了一个CIImage到磁盘使用UIImage void applicationWillResignActive UIApplication application NSString filename Test png UI
  • HibernateTemplate 可以与 Envers 一起使用吗?如果是这样,怎么办?

    我正在尝试在一个也使用 Hibernate 和 Spring 的项目上使用 Envers 我非常欣赏 HibernateTemplate 提供的代码减少功能 我在 JPA 下配置了 Envers 经过一些调整后 我能够通过 EnversHi
  • Shell_exec 与 git pull ?

    我正在建立一个 github 帐户 与一些朋友一起开发一个小项目 我希望我的家用机器能够通过 php 执行 git pull 这样我们只需调用这个小 php 文件即可使机器保持最新状态 截至目前 这工作完美 我得到了输出 我在正确的目录中
  • 如何将我的 Kivy 客户端连接到服务器(TCP、套接字)

    因此 作为我的项目 2D 多人纸牌游戏 的一部分 我已经弄清楚如何在线托管和运行服务器脚本 我的计划是让两个单独的 kivy 客户端连接到服务器 这只是一个带有命令的脚本 但是我对操作顺序有些困惑 因为我think客户端连接可能与消息循环发
  • 查找 Javascript 对象中属性的交集

    大家好 我想我有以下两个对象 var obj1 one 232 two 3123 three 3232 var obj2 one 323 three 3444 seven 32 我正在尝试编写一个函数 该函数将返回两个对象中的属性 假设我始
  • 使 ViewGroup 在 Android 上可点击

    我有一个 ViewGroup LinearLayout 其中包含几个 TextView 和一个 ImageView 我想让整个组都可以点击 我尝试过这样的事情 viewGroup setOnClickListener new OnClick
  • HTML 5 游戏是否使用 Canvas 和 Javascript?这种情况下如何防止作弊呢?

    HTML 5 游戏是否使用 Canvas 和 Javascript 这种情况下如何防止作弊呢 例如 如果用户使用 GreaseMonkey 或某些工具来更改脚本 使其每次只向服务器报告完美的游戏分数 该怎么办 我会用我自己的问题来回答你的问
  • 如何使用gdb来探索堆栈/堆?

    谁能给我一个快速概述 给我指出一种检查 C 程序堆栈 和堆 的方法的文档 我认为这应该用 GDB 来完成 但如果有其他更直接的替代方案 那么也应该没问题 Thanks 您可以使用 x 命令转储原始内存 因此 如果您想查看堆栈或堆的位 请尝试
  • gcc 通过 homebrew 没有 --without-multilib 选项

    我想在 Python 3 5 中安装 xgboost 这个需要gcc支持 fopenmp选项 默认gcc不支持 所以我正在使用 brew install gcc without multilib 但我得到Warning gcc this f
  • 将本地文件的内容读取到 Rails 中的变量中

    我想做的就是从本地文件中获取所有内容并将其存储在变量中 如何 File read icon full filename each l r l 只给我一部分 在 PHP 中 我刚刚使用file get contents data File r
  • 硬币兑换 DP 解决方案以跟踪硬币

    尝试为一般的硬币找零问题编写一个 DP 解决方案 该解决方案还可以跟踪使用了哪些硬币 到目前为止 我已经可以为我提供所需的最低数量的硬币 但无法弄清楚如何获取使用了哪些硬币以及使用了多少次 如果使用硬币 我尝试设置另一个带有值的表 布尔值
  • Javascript 域模型对象约定

    如果我必须在 C 中创建域模型对象 我可能会这样做 public class Person Public string Name get set Public string Gender get set Public int Age get
  • 使用文本框自动滚动到底部

    我有一个由 ms access 制作的 mdb 文件 它有一个表单 表单内部有一个大文本框 制作此文本框的目的是通过在文本框中添加消息来显示某些工作的进度 txtStatus value txtStatus value Doing some
  • 如何通过 COM 公开 .netstandard2.0 库以便在 VB6 中使用?

    我有一个 dotnet 核心库 一个框架 4 7 2 库和一个 vb6 应用程序 我想编写一个公共库供他们所有人访问 因此选择 netstandard2 0 我尝试了 netstandard2 0 库和 vb6 之间的 4 7 2 框架包装
  • Grails:两个域对象之间的多重关系

    我正在尝试在 Grails 中的两个域类之间实现两种不同类型的关系 考虑以下 我有两个域类 一个作者类和一个书籍类 其中一个作者拥有很多书籍 class Author String name class Book String title
  • 在 SQL Management studio 中更改 CommandTimeout

    如何更改 SQL Management Studio 中的 CommandTimeout 如果您在使用表设计器时遇到超时 请更改工具 gt 选项 gt 设计器 gt 表和数据库设计器下的 事务超时时间 值 这将消除此消息 超时已到 操作完成
  • pandas 六个月的日期范围

    所以 这是我的数据框 PatientNumber QT Answer Answerdate DiagnosisDate 1 1 transferring No 2017 03 03 2018 05 03 2 1 preparing food
  • epoll_wait()接收socket关闭两次(read()/recv()返回0)

    我们有一个使用 epoll 来侦听和处理 http 连接的应用程序 有时 epoll wait 会连续两次收到 fd 上的 close 事件 含义 epoll wait 返回连接 fd 其中 read recv 返回 0 这是一个问题 因为
  • pg (node-postgres) 是否自动清理数据

    我在用node postgres对于生产应用程序 我想知道是否有什么我应该关心的 数据是否自动清理node postgres 我在 github 页面上找不到任何相关信息 https github com brianc node postg
  • BrokeredMessage Azure ServiceBus 的虚假传递和接收

    我创建了一个 BrokeredMessage 实例 并希望围绕它的传递计数与队列的最大传递计数来测试我的代码 我不想建立一个真正的队列来发送和接收消息 但在消息传递之前 deliverycount 属性不会初始化 我怎样才能伪造这个 我设法