首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从单元测试调用时,Application.Current为空

从单元测试调用时,Application.Current为空
EN

Stack Overflow用户
提问于 2013-02-13 01:00:44
回答 3查看 20.7K关注 0票数 25

我有一个正尝试从单元测试中调用的方法。在现实生活中,此方法将从后台线程运行。它使用一些代码来启动对UI线程的调用更新(使用Application.Current.Dispatcher.BeginInvoke ...)。

但是,当从单元测试中调用Application.Current时,它是null

我真的不知道在所有需要修复的东西周围放一个if (Application.Current !=null)是什么。

有没有别的办法来解决这个问题呢?

_statusUpdates是一个ObservableCollection

下面是我要测试的方法中的代码部分(公平地说,它更像是一个集成测试,而不是一个单元测试)。

代码语言:javascript
运行
复制
Application.Current.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal, (EventHandler)delegate
{
    _statusUpdates.Add(new StatusUpdate
    {
        DateTime = DateTime.Now,
        Message = "Checking For Messages"
    });
}, null, null);
EN

Stack Overflow用户

发布于 2013-02-13 01:17:02

在单元测试运行器中不会有Application对象。这些通常是基于“控制台”的应用程序,它们只是运行和执行非UI代码(“单元”)。

我建议您不要使用单元测试框架来测试特定于UI的信息,我建议使用自动化的UI测试框架来实现这一点。

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

https://stackoverflow.com/questions/14837784

复制
相关文章

相似问题

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