【问题标题】:How to unit test Xamarin.Forms behavior如何对 Xamarin.Forms 行为进行单元测试
【发布时间】:2016-09-14 04:33:34
【问题描述】:

根据original blog 的说法,“行为之所以强大,是因为它们是可重用的,而且由于它们是独立的功能,因此它们很容易合并到单元测试中。”

但看起来,构建独立于平台的单元测试并不容易,因为 Xamarin 中的视觉元素都不是基于界面的,因此无法创建它们的模拟,并单独测试行为。

使用“真实”元素也行不通,除非你走 UI 测试路线。

该行为需要监听一些事件(尤其是 Focused),并且 element.Focus() 不起作用并在它不是“真实”UI 的一部分时返回 false。我尽量避免为此创建 2 个特定于平台的测试。

那么,我应该如何处理呢?

【问题讨论】:

    标签: unit-testing xamarin.forms behavior


    【解决方案1】:

    为了对 Xamarin.Forms Core 进行单元测试,您需要模拟平台。由于它是开源的,您甚至可以在 GitHub 上查看 XF 本身的单元测试是如何完成的:https://github.com/xamarin/Xamarin.Forms/tree/master/Xamarin.Forms.Core.UnitTests

    【讨论】:

    • 好吧,IPlatformServices 是内部的,所以我不能在那里重用该模式。而且 Device.PlatformServices 也是内部的。
    猜你喜欢
    • 1970-01-01
    • 2012-01-08
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 2019-01-05
    • 2011-03-16
    • 2013-01-02
    相关资源
    最近更新 更多