Xamarin.forms 表单UI测试环境

Xamarin.forms 表单UI测试环境,xamarin.forms,moq,xamarin.uitest,Xamarin.forms,Moq,Xamarin.uitest,我正在尝试设置Xamarin.Forms应用程序以使用UI测试。目前测试工作正常,但我希望能够模拟或处理应用程序调用的API调用,而不是测试中执行的实际API调用 这似乎有一种方法,但我似乎找不到一种方法让应用程序知道它是否在本地运行测试。我正在使用IoC容器注册与这些API交互的各种接口,并希望App构造函数能够检测它是否正在运行UITest,然后注册适当的“实际”接口实例或“模拟”实例。有没有一个已知的方法来处理这个问题?你的问题可以用很多方法来解决,但我实际上是这样做的: 您可以创建专用的

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


这似乎有一种方法,但我似乎找不到一种方法让应用程序知道它是否在本地运行测试。我正在使用IoC容器注册与这些API交互的各种接口,并希望
App
构造函数能够检测它是否正在运行UITest,然后注册适当的“实际”接口实例或“模拟”实例。有没有一个已知的方法来处理这个问题?

你的问题可以用很多方法来解决,但我实际上是这样做的:

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

然后,根据配置操作容器boostrap,将接口指向模拟对象


每当您想要运行UI测试时,您都会编译此配置,而不是版本配置。

如何运行UI测试?使用VS?当您运行应用程序的UITest并且测试返回消息时?嗨,Wendy,是的,我使用Visual Studio Professional 2019运行它。我不明白你说的“测试返回消息”是什么意思?测试运行得非常好,但我想让主应用程序知道它当前是否正在运行测试。因此,应用程序配置将以不同的方式处理API调用。谢谢@xleon。这也是我在设置中使用的。出于某种原因,它现在也开始工作了。我的设置通过使用以下资源和“测试”配置工作: