“云无界、端无边” OGeek 技术峰会 9月17日 南京不见不散! 了解详情
写点什么

使用 Rx 和 Silverlight 编写异步测试

  • 2011 年 8 月 10 日
  • 本文字数:483 字

    阅读完需:约 2 分钟

在 Silverlight 里做集成测试很难。几乎任何类型的外部服务都需要一个返回 UI 线程的异步调用。和大多数单元测试框架不同,Silverlight 使用的那个单元测试框架运行在相同线程上,因此你不能阻止它等待服务调用的返回。

更糟糕的是,事实上这个 Silverlight 测试框架(简称 Silverlight Unit Testing Framework )非常容易出错。任何线程的未处理异常都会破坏整个测试的运行,而前面提到的集成测试却需要使用多线程。

一个解决方案是始终通过 EnqueueCallback 确保异常恰当地报告给单元测试框架。但是,这也不是那么好做的,只要一个错误就能中断接下来的所有测试。 Richard Szalay 示范了如何使用 Reactive Extensions 强化异步测试,同时降低出错率。

Richard 使用的技术假设你通过传统的 Begin 和 End 两个方法使用异步模式。使用Observable.FromAsyncPattern 函数把服务的调用封装到一个IObservable 里。一旦完成,ObserveOnTest 函数就会通过一个叫做WorkItemTestScheduler 的特殊计划程序把单元测试框架关联到调用链上。最后调用Subscribe 函数启动序列并计算结果。

查看英文原文: Writing Asynchronous Tests with Rx and Silverlight

2011 年 8 月 10 日 08:50969

评论

发布
暂无评论
发现更多内容

是的,奈学教育一周年了!

奈学教育

奈学教育

第三周总结

岛乾坤

从CI/CD持续集成部署到DevOps研发运维一体化

xcbeyond

DevOps 持续集成 CI/CD 持续部署 28天写作

第三周作业

Geek_72d5ab

产品0期 - 第三周作业

曾烧麦

产品训练营

Stakeholder requests (order by priority)

顾远山

需求 排序 分析 利益相关者

架构师训练营第五周作业 - 命题作业

阿德儿

产品经理课程-第三周

novaln🍉

构建高并发高可用的电商平台架构实践

for

第三周小结:产品思维和产品意识收尾+解决方案

小匚

学习 深度思考 个人成长 产品经理 产品经理训练营

webpack | 进阶用法3:如果将代码打包成一个通用JS库。

梁龙先森

大前端 webpack 28天写作 2月春节不断更

英特尔高管解读赢得2亿用户信赖的秘诀——永远领先两步

新闻科技资讯

产品训练营-第三周-作业

邹小胖

产品经理训练营

安全,稳定

raox

三高(高并发,高可用,高性能)解决方案

for

阿里云发布CDN产品最佳实践图 全面解析行业应用

阿里云Edge Plus

CDN 边缘节点

【并发编程的艺术】Java内存模型总结

程序员架构进阶

架构 Java内存模型 七日更 28天写作 2月春节不断更

解决方案的设计

让我思考一会儿

阿里面试败北后,苦刷Java天梯图28天,成功斩获滴滴50W年薪offer

Java架构师迁哥

Spring 事务、异步和循环依赖有什么关系?

程序员小航

Java spring 源码 事务 循环依赖

作业-第三周

eva

是的,奈学教育一周年了!

古月木易

奈学教育

产品经理训练营 Week03

柚子君~

产品经理训练营

清华大学团队:人脸识别爆出巨大丑闻,15分钟解锁19款手机

香芋味的猫丶

网络安全 信息安全 人脸识别 刷脸支付 支付安全

AI进商超:智能视觉秤减轻操作员负担,果蔬称重不再排队

百度大脑

产品训练营--第三期作业(2)

曦语

产品训练营

区块链企业发展面临的挑战及建议

CECBC

区块链

Week3作业

Geek_6a8931

SpringCloud 从入门到精通16---Sentinel流控

Felix

第三周作业

岛乾坤

首届腾讯云大数据峰会暨Techo TVP开发者峰会

首届腾讯云大数据峰会暨Techo TVP开发者峰会

使用Rx和Silverlight编写异步测试_.NET_Jonathan Allen_InfoQ精选文章