【发布时间】:2019-08-01 16:01:52
【问题描述】:
我正在为 Xamarin Forms 移动应用程序编写自动化测试。由于很难直接与嵌入式 Google/Apple 地图进行交互,因此我编写了一些后门方法,旨在获取地图将提供给人类的所有信息。然而,在 iOS 上,我写的方法并没有提供返回值,尽管我的指示相反。
到目前为止,我已经做了各种各样的事情,包括将方法简化为只返回一个虚拟字符串的存根。它仍然拒绝这样做。 Microsoft's documentation 中没有任何地方表示无法在 iOS 上返回值。
[Export("GetUnits:")]
public NSString GetUnits(NSString val) // param unused
{
return new NSString("TEST"); // returns this value in the app, but it doesn't ever make it to the test harness
}
上述代码应该将“TEST”返回给测试工具,然后在我调用app.Invoke("GetUnits:", "") 后,它会打印在我的REPL 中,这总是会产生
[
]
而不是
[
"TEST"
]
方法命名正确,调用正确;如果我没有正确调用它(例如错误的参数数量,错误的方法名称)并且插入到方法中的测试代码执行正常,则会出现错误消息,所以我知道它正在执行。它只是没有将值返回到测试工具。此方法的等效 Android 版本完美运行。
我在 Xamarin 论坛上发现一个人遇到了同样的问题,但他的话题已经两年没有被触及了。我已经阅读了我可以在网络上找到的所有相关内容,但均无济于事。
为格式化而编辑。 (哎呀。)
【问题讨论】:
-
您好,如果这是一个问题,您可以在这里提交。 github.com/xamarin/Xamarin.Forms/issues
-
这不是 Xamarin.Forms 问题 - 我将在下面写下我所知道的 :-)
标签: xamarin.forms xamarin.ios xamarin.uitest