C# 单元测试:使用使用网络的 API 时出现 UnauthorizedAccessException

C# unit test: UnauthorizedAccessException when using API that uses network

我正在尝试为我的 Windows Phone 8.1 应用程序创建编码 UI 测试,但我的测试方法遇到了一些困难。

在我的测试方法中,我首先调用一个与后端 API 连接的方法。 API 调用使我的后端向我的应用程序发送通知。我现在想让我的 UI 测试做的是测试并验证 UI 是否正确显示它收到的通知和数据。

简而言之: 我想做一个测试,从我的后端触发一个通知,然后验证 UI 在收到通知后是否按预期运行。

这个问题是,每当我调用调用后端 API 的方法时,我都会得到一个:

System.UnauthorizedAccessException: Use of networking APIs requires the ID_CAP_NETWORKING capability to be defined in the application manifest

此标志已在应用程序清单本身中正确设置,并且出于充分的原因,我无法在我的编码 UI 测试项目中设置它,因为它没有应用程序清单。

我尝试通过制作仅包含 API 的第三个项目来解决此问题(这样我就有了 phone、测试和 API 项目)。测试项目现在将调用另一个项目中的 API 调用方法,但这没有帮助。

是否有解决此问题的方法?如果有,它们是什么?

谢谢!

在编码 UI 测试中似乎没有办法绕过它,这似乎是一个巨大的缺点,因为我们的应用程序是针对 API 运行的!

我们放弃了编码 UI 测试,转而使用 Winium-StoreApps(可以在 Github 上找到)。它很好地完成了 UI 测试,比编码 UI 测试快得多,同时允许 API 访问、文件系统访问等。