我的团队对 Xamarin 应用程序进行了一系列传统的非 UI 测试。我们想在 XTC 中运行这些测试,但没有找到太多关于在 XTC 中运行传统测试的文档。
我最好的猜测是将我们的 Xamarin 单元测试应用程序加载到云中,然后使用 UI 控件在此应用程序中运行和检查我们的单元测试。有没有我想念的更直接的方式?
再说一次,为了清楚起见,我们不想直接对我们的应用程序进行 UI 测试。我们使用 IOC 从头开始构建架构,因此无需完全集成测试即可获得大约 95% 的测试覆盖率。
例如,这是我们的一项测试:
[Test]
public void ExecuteThreadSafeActionThrowsNoException()
{
var test = new List<int> { 1, 2, 3 };
Assert.DoesNotThrow(() =>
{
_concurrent.ExecuteThreadSafe(() =>
{
test.Add(4);
foreach (var i in test)
{
Task.Delay(DelayTime).Wait();
}
test.Add(5);
});
});
}
其中 _concurrent 是根据平台(iOS 和 Android)和操作系统版本具有不同实现的接口。所有这些测试都是我们的线程代码在多个设备上按预期工作。