如何在 VB.NET 中使用 RhinoMocks 设置只读属性的返回值?

2024-02-03

我在 VB.NET 中使用 RhinoMock,需要设置只读列表的返回值。

这就是我的want要做(但不起作用):

dim s = Rhino.Mocks.MockRepository.GenerateStub(of IUserDto)()
s.Id = guid.NewGuid
s.Name = "Stubbed name"
s.Posts = new List(of IPost)

它在编译时失败,因为 Posts 是只读属性。

然后我尝试了 lambda 表达式,它对于函数调用工作得很好,但对于属性则不太适用。这无法编译。

s.Stub(Function(x As IUserDto) x.Posts).Return(New List(Of IPost))

下一次(失败的)尝试是使用SetupResults,但这次失败表明它不能在播放模式下使用。

Rhino.Mocks.SetupResult.For(s.Posts).Return(New List(Of IPost))

这让我回到我的问题:

如何在 VB.NET 中使用 RhinoMocks 设置只读属性的返回值?


Is IUserDto一个接口?如果是的话它应该可以工作。如果不是,那么问题可能是所讨论的只读属性不可重写。 RhinoMocks 只能模拟接口中定义或可以覆盖的属性/方法。

这是我(笨拙的)尝试证明 lambda 语法应该有效:

Imports Rhino.Mocks

Public Class Class1

    Public Sub Test()
        Dim s = MockRepository.GenerateMock(Of IClass)()
        Dim newList As New List(Of Integer)

        newList.Add(10)

        s.Stub(Function(x As IClass) x.Field).Return(newList)

        MsgBox(s.Field(0))

    End Sub

End Class

Public Class AnotherClass
    Implements IClass

    Public ReadOnly Property Field() As List(Of Integer) Implements IClass.Field
        Get
            Return New List(Of Integer)
        End Get
    End Property
End Class

Public Interface IClass
    ReadOnly Property Field() As List(Of Integer)
End Interface

即,当调用 Class1.Test 时,我会收到一个消息框,上面显示数字 10(我没有费心尝试用它连接单元测试框架,但这应该不会产生影响)。

希望能有所帮助(无论如何,尝试在 VB.NET 中使用 RhinoMocks 是一个有趣的练习)。

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

如何在 VB.NET 中使用 RhinoMocks 设置只读属性的返回值? 的相关文章

  • 选项卡索引不适用于面板中的控件?

    我有一个 vb net Windows 窗体 其中包含大约 15 个组合框和 15 个文本框 以及其他几个控件 所有这些TextBoxes and ComboBoxes位于面板中 原因是我需要根据用户选择 输入的内容来调整控件的可见属性 因
  • 使用 JSON.net 反序列化

    我对 json JSON net 等都很陌生 在这里阅读类似的问题后 我无法让我的代码工作 我的错误到底是什么 我监督了什么 出于测试目的是否可以跳过 链接 和 元 类 或者我是否必须定义每个属性 我得到以下 REST 输出 codes h
  • 数据读取过程中遇到致命错误

    我正在进行定期更新表扫描 Using connect1 As New MySqlConnection ConnectLocalhost serverString connect1 Open Dim cmd New MySqlCommand
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • 使用 DirectCast、CType、TryCast 转换数据类型

    自从我在 2005 年从 VB6 迁移到 VB NET 以来 我一直在使用 CType 将一种数据类型转换为另一种数据类型 我这样做是因为它打字速度更快 以前存在于 VB6 中 而且我不知道为什么我必须使用 DirectCast 如果它们之
  • 如何在 Windows 窗体中制作窗体模式?

    我正在尝试创建一个子表单 帮助用户在父表单中的字段中输入数据 我希望这个子表单是模态的 但是我需要做什么才能使这个表单成为模态 我需要使用其他类型的物品吗 Use Form ShowDialog http msdn microsoft co
  • String.Format - 它如何工作以及如何实现自定义格式字符串

    With String Format 例如可以格式化DateTime对象以许多不同的方式 每次我寻找所需的格式时 我都需要在互联网上搜索 我几乎总能找到一个可以使用的例子 例如 String Format 0 MM dd yyyy Date
  • 从 VB.NET 应用程序填写 PDF 表单

    我的任务是在 VB Net 中创建一个 Windows 应用程序 要求之一是从 MSSQL 数据库读取数据 并将某些值放入 PDF 表单中 如何使用 VB Net 将数据放入预先存在的 PDF 文件中 另外 是否可以将PDF文件作为资源放入
  • 从文件资源管理器打开我的应用程序中的文件

    我在 VB NET 中创建了自己的应用程序 该应用程序将其文档保存到具有自己的自定义扩展名 eds 的文件中 假设我已将文件扩展名与我的应用程序正确关联 那么当我在文件资源管理器中双击该文件时 如何实际处理应用程序中所选文件的处理 我是在
  • 根据值从绿色到红色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个在 vb net 中返回从红色 值 0 到绿色 值 100 的颜色的函数 另外 我需要一种方法来确定字体的颜色应该是白色还是
  • 检查 listbox1 中是否已存在某个项目

    在 form1 中 我有两个列表框 listbox1 listbox2 加载按钮和保存按钮 此代码会将 listbox1 selecteditem 写入 txt 文件 然后 loadbutton 将加载信息 但在 listbox2 中我希望
  • .net 应用程序中的内存泄漏

    我正在 VB net 2005 中开发一个桌面应用程序 该应用程序包含一个间隔为 1 分钟的计时器 每次计时器计时 就会执行一组函数 大部分与数据库相关 最初 应用程序运行良好 在进程 任务管理器 中 每次调用计时器时 CPU 使用率都会达
  • 使用 CoCreateInstance 从 C++ 调用 COMVisible VB.Net dll

    自从我上一个问题以来 在某种程度上取得了进展 我已经编译了以下项目 它是基于https stackoverflow com a 10949784 846550 https stackoverflow com a 10949784 84655
  • 将标签文本设置为 gridview 的总行数

    我使用 sql 数据库中的存储过程作为 aspx 页面上 SqlDataSourceControl 的数据源 然后 我使用 SqlDataSourceControl 作为页面上 gridview 的数据源 gridview 上的分页设置为
  • .tostring() 保留前导零[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 转换对象
  • 将集合项复制到 .NET 中的另一个集合

    在 NET VB 中 如何获取一个集合中的所有项目 并将它们添加到第二个集合中 而不丢失第二个集合中预先存在的项目 我正在寻找比这更有效的东西 For Each item As Host In hostCollection1 hostCol
  • .NET框架,Windows XP

    我们使用 Visual Studio 2012 构建了一个应用程序 它可以在任何 Windows 7 或 Vista 计算机 32 位或 64 位 上完美运行 但是 当我尝试在 Win XP 计算机上运行该应用程序时 我得到以下信息 系统组
  • ASP.NET 验证控件和 Javascript 确认框

    我有一个使用 NET 服务器端输入验证控件的页面 此页面还有一个 javascript 确认框 在提交表单时会触发该确认框 当前 当选择 提交 按钮时 会出现 javascript 确认框 一旦确认 就会触发 ASP NET 服务器端验证控
  • vb.net:查找字符串中字符串的位置?

    vb net 中是否使用 instr 来实现此目的 使用 String IndexOf http msdn microsoft com en us library system string indexof aspx http msdn m
  • 通过 Tab 键浏览 XML 文档字段

    In VB NET you can move through the fields in the XML member documentation with the Tab key 这在 C 中不起作用 还有其他方法吗 除了用鼠标将光标放在

随机推荐

  • xpath:查找不同行中具有相同位置的表格单元格

    我正在解析一个包含如下结构的网页 tr td Label 1 td td Label 2 td td Label 3 td td Something else td lt tr gt tr td Item 1 td td Item 2 td
  • 什么是 {block:Hidden} 以及何时使用它?

    block Hidden
  • htaccess 获取不带路径的文件名

    我正在尝试获取所请求的不带路径的文件名使用 htaccess 作为 RewriteCond REQUEST FILENAME返回完整的绝对路径 但我只需要文件名 例如test php 我一直在寻找这个很多 但找不到任何可以帮助我的东西 感谢
  • Webdeploy权限问题

    我有 3 个 Web 部署 Visual Studio 将项目发布到包 包 我使用 msdeploy 命令与服务器同步 其中一个包是新添加的 除了新添加的包之外 其他两个包都工作正常 我在日志中看到以下错误 我不确定在哪里设置此权限 因为
  • TCP - 接收顺序错误

    是否有可能以错误的顺序 由序列号指示 获取 TCP 数据包 那么接收方会发生什么 例如 是否有任何队列容纳 太早 到达的口袋 或许 接收 TCP 引擎对于要做什么有多种选择 它唯一不能做的就是将这些无序数据包中的数据无序地传递到接收进程 接
  • 表 MYSQL 的密钥文件不正确

    当我想按查询分组时 我收到此错误消息 Incorrect key file for table tmp sql 623d 0 MYI try to repair it 它是一个 InnoDB 表 有 3 000 000 条记录 大小为 4
  • PHP 的设计模式 - 访问者模式与仆人模式

    我发现这两种模式很相似 以及大多数其他行为模式 访客模式 interface Visitor public function visit Visitable Visitable interface Visitable public func
  • java.lang.ClassCastException:org.ksoap2.serialization.SoapPrimitive?

    我正在从我的 Android 客户端应用程序调用 Web 服务 当我尝试显示它时得到响应后 我收到 ClassCastException 以下是我的代码 public void onClick View v setContentView R
  • mysql_insert_id 使用安全吗?

    根据 PHP 文档 mysql insert id从 mysql 表中获取最后插入的 id 我的问题是 如果我有一个网站每秒向数据库插入超过 2 行 我可以使用mysql insert id并获取我在中提到的正确 IDINSERT查询之前的
  • Redis“客户端列表”用途和说明

    在执行 客户端列表 时 我得到以下结果 每个标志的含义是什么 奴隶 addr 100 0 0 0 0000 fd 5 空闲 3 标志 S db 0 sub 0 psub 0 qbuf 0 obl 0 oll 0 事件 r cmd sync
  • 签名板和 dompdf

    我在用托马斯 J 布拉德利的插件 http thomasjbradley ca lab signature pad 用于在 html 表单底部绘制两个签名 然后使用 dompdf 将其转换为 pdf 并使用 sendmail 作为附件通过电
  • Cumulocity smarREST 响应模板

    我正在尝试设置 Cumulocity smartREST 响应模板以提供应用程序存储的设备对象的信息 我认为这是不可能的 但我想确认一下 因为文档很简短而且不清楚 我之前已经成功实现了测量发布模板 但我现在正在尝试执行库存获取 我已经在设备
  • Delphi 中 JSON 与 XML 解析速度

    我们正在创建一个使用大量 XML 解析的应用程序 我想也许可以使用 JSON 因为我们可以使用 JSON 作为 XML 的替代品 我需要测试 JSON 或 XML 哪个更快 但想先在这里征求意见 JavaScript 中的 JSON 是原生
  • PHP 错误处理适用于 MySQL 和 MySQLi,但不适用于 PDO

    我刚刚将一堆 MySQL 和 MySQLi 表单重构为 PDO 一切似乎都正常 现在开始错误处理 在我一直使用的 MySQL MySQLi 代码中if语句来捕获错误 像这样 if database connection error hand
  • 如何减小我从 keras 转换的 .tflite 的大小

    我刚刚转换了一个Keras model h5 resnet50 img classify 在谷歌上创建COLAB to tflite但尺寸只是减小了0 5 MB 这是针对移动应用程序的 大小应该进一步减小 它大约有 90MB 对于生产来说太
  • 使用 jQuery 根据原始值修改每个文本字段的值

    是否可以使用 jQuery 或 JavaScript 根据原始值修改网页中存在的每个文本字段的值 例如 假设一个页面中有 50 个文本字段 我想删除每个文本字段值的开头和结尾的空格 我认为单独为每个文本字段调用该函数并不是一个好主意 如何在
  • PHP 中的 __call、__callStatic 和调用范围

    我最近读到有关在 PHP 中调用作用域和作用域解析运算符 的内容 有两种变体 实例调用和静态调用 考虑以下听力
  • sencha 中的按钮背景颜色

    我是 sencha touch 的新手 我们如何将按钮的背景颜色更改为白色 我有一个按钮 每个角都有两个图像 我希望按钮是纯白色的 我尝试使用这样的CSS quest background url images quest jpg no r
  • 只允许在 JTextField 中输入数字和符号 (-)

    我正在尝试创建一个数学测验 我只希望用户能够输入数字 无论它们是负数还是正数 有什么办法可以做到吗 我曾考虑过使用正则表达式 但听说它们不好用 我尝试使用按键侦听器 但是如果用户粘贴怎么办 我尝试解析字符串以获取整数 但负号将不起作用 有任
  • 如何在 VB.NET 中使用 RhinoMocks 设置只读属性的返回值?

    我在 VB NET 中使用 RhinoMock 需要设置只读列表的返回值 这就是我的want要做 但不起作用 dim s Rhino Mocks MockRepository GenerateStub of IUserDto s Id gu