首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为使用棱镜并使用ThreadOption.UIThread请求事件的类创建假的

为使用棱镜并使用ThreadOption.UIThread请求事件的类创建假的
EN

Stack Overflow用户
提问于 2014-11-06 02:29:05
回答 1查看 480关注 0票数 1

我们正在从Prism 4.1转移到5。出现的一个项目是为我们的单元测试创建一个Stub EventAggregator (微软伪造的)。在目标类中设置EventAggregator,一些订阅者使用

代码语言:javascript
复制
_eventAggregator.GetEvent<RangeChangedEvent>().Subscribe(UpdateDisplay,
                    ThreadOption.UIThread,
                    false,
                    args => args.ID == ID);

单元测试在Prism 4.1上运行良好。但是,在运行单元测试时,我在Prism 5中得到了这个异常。

System.InvalidOperationException:要使用UIThread选项进行订阅,必须在UI线程上构造EventAggregator。

那么,有什么方法可以引用Prism认为什么是UI线程呢?还是告诉棱镜单元测试线程是UI线程的一种方法?还是需要在发布线程上订阅并在"UpdateDisplay“方法中测试Dispatcher?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-04-14 17:14:05

如果您正在使用Nunit,您可以使用RequiresSTA属性来修饰您的测试夹具类,这将使testrunner使用UI线程,希望它能够为您解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26770772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档