首页 > 解决方案 > Xamarin iOS 的单元测试完全被破坏了

问题描述

我正在尝试在 iOS 和 Android 上使用 Xamarin Forms ( 4.8.0.156 ) 进行一些单元测试。我使用 Visual Studio for Mac 创建了一个空白项目和一个空白单元测试项目。在 Android 上一切正常,但在 iOS 上无法启动单元测试。每次我开始执行测试时,iOS 都会返回此错误:

at Xamarin.UITest.XDB.Services.iOSDeviceAgentService.LaunchTestAsync (System.String deviceId, System.String deviceAddress) [0x00353] in <d6deb34c8911492ebfea02a0239d2ab8>:0
  at Xamarin.UITest.iOS.iOSAppLauncher.LaunchAppLocal (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Http.HttpClient httpClient, System.Boolean clearAppData) [0x001e8] in <d6deb34c8911492ebfea02a0239d2ab8>:0
  at Xamarin.UITest.iOS.iOSAppLauncher.LaunchApp (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Http.HttpClient httpClient, Xamarin.UITest.TestCloud.TestCloudiOSAppConfiguration testCloudAppConfiguration, Xamarin.UITest.Shared.Http.HttpClient testCloudWsClient, Xamarin.UITest.Shared.Http.HttpClient xtcServicesClient, System.Boolean testCloudUseDeviceAgent) [0x00068] in <d6deb34c8911492ebfea02a0239d2ab8>:0
  at Xamarin.UITest.iOS.iOSApp..ctor (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration, Xamarin.UITest.Shared.Execution.IExecutor executor) [0x0026f] in <d6deb34c8911492ebfea02a0239d2ab8>:0
  at Xamarin.UITest.iOS.iOSApp..ctor (Xamarin.UITest.Configuration.IiOSAppConfiguration appConfiguration) [0x00000] in <d6deb34c8911492ebfea02a0239d2ab8>:0
  at Xamarin.UITest.Configuration.iOSAppConfigurator.StartApp (Xamarin.UITest.Configuration.AppDataMode appDataMode) [0x00017] in <d6deb34c8911492ebfea02a0239d2ab8>:0
  at sltdd.UITests.AppInitializer.StartApp (Xamarin.UITest.Platform platform) [0x00018] in /Users/micheleaddante/Project/Mobile/sltdd/sltdd.UITests/AppInitializer.cs:12
  at sltdd.UITests.Tests.BeforeEachTest () [0x00001] in /Users/micheleaddante/Project/Mobile/sltdd/sltdd.UITests/Tests.cs:21
  at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.InternalInvoke(System.Reflection.RuntimeMethodInfo,object,object[],System.Exception&)
  at System.Reflection.RuntimeMethodInfo.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0006a] in /Users/builder/jenkins/workspace/build-package-osx-mono/2020-02/external/bockbuild/builds/mono-x64/mcs/class/corlib/System.Reflection/RuntimeMethodInfo.cs:395

我在用着:

我正在执行从文档中获取的确切配置:

return ConfigureApp
.iOS
.InstalledApp("my "bundle name)
.DeviceIdentifier("iPhone simulator id") 
.StartApp();

我打电话给 Xamarin.Calabash.Start(); 如文档所述,进入 AppDelegate.cs 的 FinishedLaunching 方法。但是没有办法运行单个测试。甚至是一个空的测试。

任何想法?

谢谢!

标签: xamarinxamarin.forms

解决方案


请查看此 GitHub 问题

https://github.com/microsoft/appcenter/issues/1992#issuecomment-724843179

Xamarin.UITest 和 XCode 12 似乎失败了


推荐阅读