Xamarin.Forms UI 测试环境

Xamarin.Forms UI Test Environment

我正在尝试设置我的 Xamarin.Forms 应用程序以使用 UI 测试。目前测试工作正常,但我希望能够模拟或处理应用程序调用的 API 调用,而不是在测试中执行的实际 API 调用。

似乎有一种方法 UITest can detect if it is running in Test Cloud,但我似乎无法找到一种方法让应用程序知道它是否在本地进行 运行 测试。我正在使用 IoC 容器来注册与这些 API 交互的各种接口,并希望 App 构造函数能够检测它是否是 运行 和 UI测试,然后注册适当的 'actual' 接口实例或 'mock' 实例。有已知的方法来处理这个问题吗?

您的问题可以通过多种方式解决,但我实际是这样做的:

您可以创建专用的编译器配置:

然后,根据配置,您将操纵容器引导程序,将您的接口指向模拟对象。

每当你想 运行 UI 测试你会编译这个配置而不是发布配置。