如何在 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 设置只读属性的返回值? 的相关文章

  • 如何将 System.Windows.Forms 添加到我的 .NET 5.0 项目中?

    对于我缺乏术语和理解 我提前表示歉意 我对 NET 和 Visual Studio 非常陌生 我在 Windows 7 64 位上的 Visual Studio Community 2019 版本 16 10 4 中使用 Visual Ba
  • document.readyState == "complete" 始终为 false。状态始终是“交互的”

    我正在 Page Load 上连接一个启动脚本 JavaScript 函数来触发 如下所示 ScriptManager RegisterStartupScript Me GetType Page page init page init Tr
  • 使用 vb.net 在 MS Access 中插入和更新值

    我已经检查了该网站上的大部分论坛 但没有得到我的解决方案 我的问题是将数据从 vb net 插入到 MS Access 但我无法做到 它没有显示任何错误 但也没有在我的表中插入值 我正在使用非常简单的代码 Imports System Da
  • VB.NET 中延迟加载属性中静态局部变量的使用

    我最近刚刚了解了 VB NET 中静态局部变量的使用 并想知道它在延迟加载属性中的潜在用途 请考虑以下示例代码 Public Class Foo Implements IFoo End Class Public Interface IFoo
  • 如何从网络客户端获取状态码?

    我正在使用WebClient类将一些数据发布到 Web 表单 我想获取表单提交的响应状态代码 到目前为止我已经找到了如果出现异常如何获取状态代码 Catch wex As WebException If TypeOf wex Respons
  • FireFox 中的默认表单按钮

    我正在构建一个服务器控件 它将搜索我们的数据库并返回结果 服务器控件包含一个 ASP Panel 我已将面板上的默认按钮设置为等于我的按钮 id 并将表单默认按钮设置为等于我的按钮 id 在面板上 MyPanel DefaultButton
  • Visual Studio 将 1.1 扩展为 1.1000000000000001

    至少对我来说 这是有史以来最奇怪的 Visual Studio 2010 行为 我正在开发 MVC3 项目 我从另一个项目 也包括 VS2010 MVC1 如果重要的话 复制了一行代码 如下所示 target height height 1
  • 如何覆盖/更新当前由 IIS 提供服务的文件?

    问题 我的公司每月发布一份时事通讯 我将其托管在我们的内部网站上 我有一个供时事通讯作者上传最新版本的页面 作者上传最新的新闻通讯后 他会发送一封广播电子邮件来宣布新的新闻通讯 员工总是会检查新的时事通讯并向作者发送反馈以及需要进行的更正
  • 自定义编译器警告

    在 Net 中使用 ObsoleteAtribute 时 它 会向您发出编译器警告 告诉您该对象 方法 属性已过时 应使用其他内容 我目前正在从事一个需要大量重构前员工代码的项目 我想编写一个自定义属性 可用于标记方法或属性 这些方法或属性
  • 如何在 VB.NET 中单击按钮切换表单语言?

    我想创建本地化应用程序并想要实现语言切换器 例如特殊按钮 我使用 Visual Studio 2010 Express VB NET 我创建了带有一个标签和一个按钮的简单测试应用程序 我将表单的属性 Localized 设置为 True 并
  • 非托管代码调用 vb.net 回调

    我正在将处理 COM 对象事件的 vb net 应用程序 可能用 VB6 编写 从框架 1 1 升级到 WPF 2 0 3 5 代码 为简洁起见 简化了对象名称 public class MyClass Private WithEvents
  • 多线程应用程序的调用方法?

    我的应用程序中有一个错误 与here http forums ni com t5 Measurement Studio for NET Waveform Graph quot X quot Error m p 217817 highligh
  • 安装文件失败调试已启用

    我之前使用过安装项目 没有任何问题 该项目没有 SQLite DB 作为依赖项我现在正在尝试为一个包含 SQLite 作为 System Data SQLite Core 的项目制作一个 EXE 或 msi 文件 该项目是一个带有 WPF
  • string() 类型的值无法转换为字符串

    我不断收到此错误 我尝试了所有可能的方法 但它仍然显示 String 的值类型无法转换为字符串 这是代码 Private Sub Label1 Click sender As Object e As EventArgs Handles La
  • 如何在.NET中扩展环境变量%CommonProgramFiles%\system\

    我遇到一种情况 我需要通过读取注册表设置来返回目录路径 注册表值返回我以下格式的路径 CommonProgramFiles System web32 dll 而消费者代码期望它的格式为 C Program Files Common File
  • 使用 .NET 将两个 PNG 图像合并为一张图像

    我有两个 其实很多 PNG http en wikipedia org wiki Portable Network Graphics png 我的应用程序中的图像 两者都有透明区域 我想在我的应用程序中拍摄两个图像 将它们组合起来 并将结果
  • 使用 UnitofWork 模式的 Rhino 模拟实体框架不起作用

    这是我第一次尝试这样的事情 所以希望这很简单 我创建了一个使用实体框架访问数据库的 WCF 服务 我已经实施了一个工作单元接口 以便我的服务可以使用 EF 同时仍然可测试 这是我的服务 public class ProjectService
  • VB.NET 是否优化字符串文字的串联?

    如同this https stackoverflow com questions 288794 does c optimize the concatenation of string literals问题 但对于 VB NET 来说 因为我
  • C#“var”关键字在 VB.NET 中的等价物是什么?

    例如 我如何获得 VB NET静态类型局部变量是static赋值右侧的表达式的类型 像这样 Dim http msdn microsoft com en us library 7ee5a7s1 aspx我的变量 3 你还需要 选项推断 ht
  • 从空白启动时 VSTO 功能区不显示解决方案

    如果我从 文件 新建项目 菜单创建一个新的 Excel 2013 和 2016 VSTO 加载项 项目 然后单击 项目 添加新项目 gt 功能区 可视化设计器 则一切正常 我启动了应用程序 我的功能区显示在 Excel 中 但是 如果我首先

随机推荐

  • 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