UWP 应用程序中的单元测试引发 COMException

Posted

技术标签:

【中文标题】UWP 应用程序中的单元测试引发 COMException【英文标题】:Unit Testing in UWP application throws COMException 【发布时间】:2017-10-16 15:27:07 【问题描述】:

这是我用来重现问题的设置:

    使用一次调用创建 UWP 库,如下所示:

    using namespace Windows::UI::ViewManagement;
    void noop() 
      auto bounds = ApplicationView::GetForCurrentView()->VisibleBounds;
    
    

    此函数使用 ApplicationView 获取当前应用实例的屏幕边界。

    创建另一个引用该库的 UWP 测试应用。在它的测试方法中,我从 MyLib 调用 noop()。

在运行测试时,它失败并抛出一个 Platform::COMException^。有什么我遗漏的吗?

感谢您的宝贵时间。

【问题讨论】:

【参考方案1】:

您可能应该在 UI 线程上调用 noop(),因为您正在处理一些 UI 元素。

您可以在测试方法实现的顶部使用[UITestMethod] 而不是[TestMethod]

【讨论】:

以上是关于UWP 应用程序中的单元测试引发 COMException的主要内容,如果未能解决你的问题,请参考以下文章