使用 ObserveOnDispatcher 进行单元测试

2024-02-02

我的视图模型中有一些代码如下:

miService.GetSomething(par1, par2)
.ObserveOnDispatcher()
.Subscribe(dt =>
 {
    DoSomething(dt);
 });

然后在我的测试中,我“嘲笑”我的服务如下:

miService.Setup(ms => ms.GetSomething(....))
.Returns(Observable.Return(XYZ));

问题是,由于 ObserveOnDispatcher,订阅委托永远不会被执行。

我看过一些使用 DispatcherFrame 和 PushFrame 的代码,但问题是我不知道“在哪里”,我可以调用

frame.Continue = false;

你可以尝试

var frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(
  DispatcherPriority.Background, 
  new Action(() => frame.Continue = false));
Dispatcher.PushFrame(frame);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ObserveOnDispatcher 进行单元测试 的相关文章

  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C# 动态/expando 对象的深度/嵌套/递归合并

    我需要在 C 中 合并 2 个动态对象 我在 stackexchange 上找到的所有内容仅涵盖非递归合并 但我正在寻找能够进行递归或深度合并的东西 非常类似于jQuery 的 extend obj1 obj2 http api jquer
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Eclipse - 如何将“Project Facet”从 Tomcat 6 更改为 Tomcat 5.5?

    日食 3 4 木卫三 我在 Eclipse 中有一个现有的动态 Web 应用程序项目 创建项目时 我在 配置 下拉列表下指定了 Apache Tomcat v6 的默认配置 一两个月后 我现在想将配置更改为 Tomcat v5 5 这将是生
  • 多次部分刷新的运行时错误

    Per 帮助我让一个 XSP partialRefreshGet 开始工作 这对我来说效果很好 不 谢谢 现在我需要多次刷新才能工作 XSP partialRefreshGet txtRateType onComplete function
  • 元素上的 jQuery Change 事件 - 有什么方法可以保留以前的值吗?

    今天早上我一直在搜索 但没有找到任何简单的解决方案 基本上 我想捕获输入元素的变化 但也知道以前的值 这是最简单形式的更改事件和输入元素 显然 我可以使用 elem val 获取新值 但是我是否缺少一种获取先前值的偷偷摸摸的方法 我在 jQ
  • 在.Net Core中创建自定义Sdk

    在 Net core项目中 有一个 csproj文件 其中第一行指定您在该项目中定位的 SDK 类似于
  • 简单检查 Twig 模板中的表单字段是否有错误

    在 Twig 模板中 我检查字段是否有如下错误 if form points get errors is not empty 有没有类似的方法 if form points hasErrors 做起来更简单吗 这没什么大区别 但如果我不能做
  • 根据嵌入式 VB.NET 资源的路径自动添加命名空间

    我习惯于在 C 中嵌入资源 并且喜欢它自动向嵌入资源添加命名空间的方式 这允许我做这样的事情 files version1 config xml files version2 config xml files version2 config
  • 在查询中传递字符串而不使用引号 ''

    我有这个查询代码 conditions array codiceBiblio IN gt tot 其中 tot 是一个字符串 例如 2345 5657 4565 5678 在这种情况下 查询将是 SELECT WHERE codiceBib
  • Django 迁移和可定制的可重用应用程序

    大约三周前 我开始编写我的第一个可重用应用程序 但我在处理迁移方面遇到了麻烦 我希望我的应用程序的某些点是可定制的 因此我有一个conf子模块 https github com Aladom django mailing blob 6260
  • 如何回显 DOMNodeList 对象和 DOMElement 对象?

    我正在使用循环来填充名为 list 的数组 它就像一个魅力 content is a DOMNodeList Object value is a DOMElement Object list array foreach content as
  • 导入 io.restassured.RestAssured 无法解析

    您好 我在使用放心 4 1 1 时无法解决该错误 我的 Eclipse IDE 中的库 我已在 pom xml 文件中添加了放心库 但错误仍未解决 我尝试重新导入放心的库https mvnrepository com artifact io
  • 使用 GNU gfortran 字符串化宏

    如何使用 GNU gfortran 字符串化预处理器宏 我想将宏定义传递给 GNU gfortran 然后将其用作代码中的字符串 实际上我想这样做 program test implicit none character len alloc
  • 在 Java 中如何检查 Socket 当前是否已连接? [复制]

    这个问题在这里已经有答案了 我试图找出 Java TCP 套接字是否是现在已连接 以下内容似乎只是告诉我套接字是否已在某个时刻连接 而不是当前是否仍处于连接状态 socket isConnected 任何帮助表示赞赏 谢谢 假设您对协议有一
  • 使用 Java 8 将 int 数组转换为 long 数组?

    我尝试了几种方法都没有成功 this tileUpdateTimes is long and other tileUpdateTimes is int this tileUpdateTimes Arrays stream other til
  • gem 原生扩展到底是什么?

    我觉得本机扩展就像库一样 您应该在尝试安装这些依赖于本机扩展的 gem 之前将其安装到系统上 像ImageMagic图书馆 那是对的吗 关于本机扩展 我们还应该了解什么吗 gem 本机扩展might链接到需要预安装的单独库 以及RMagic
  • MongoDB C# 驱动程序:查询拦截器?

    MongoDB C 驱动程序是否支持像实体框架这样的查询拦截器 我检查了文档但找不到任何内容 基本上我需要做的是确保对数据库的某些查询 根据上下文 始终应用某些限制 例如 如果我的文档可以被软删除 那么我总是需要确保为 Soft Delet
  • 动态设置每个记录器实例的 Nlog 日志级别 ASP.Net Core 2.x

    客观的 动态选择我想要详细日志记录的 HTTP 请求 不同的日志级别 Overview 我有一个正在运行的 ASP Net core 2 1 Web 服务器 一旦投入生产 如果我需要调试问题 我希望能够更改日志级别 我已经找到了如何全局更改
  • 使用 urllib2 进行代理

    我打开网址 site urllib2 urlopen http google com 我想做的是用代理以相同的方式连接 我有一个地方告诉我 site urllib2 urlopen http google com proxies http
  • Videomixer 在源上失败,而不是在 Videotestsrc 上失败

    我想在一个视频文件中同时播放两个不同的本地视频文件 窗户 下面的代码在没有解复用器和解码器的情况下工作正常 static void play video GMainLoop loop GstElement pipeline videomix
  • 如何检查方法是否始终返回值

    我写了一个编译器 它已经可以正常工作了 它检查所有非 void 方法是否至少有一个 return 语句 但它不检查非 void 方法中的所有代码路径是否都返回一个值 因此 例如 如果我有以下代码 int function bool a if
  • 使用 ObserveOnDispatcher 进行单元测试

    我的视图模型中有一些代码如下 miService GetSomething par1 par2 ObserveOnDispatcher Subscribe dt gt DoSomething dt 然后在我的测试中 我 嘲笑 我的服务如下