我正在整合我的团队开发环境,为我们的第一个大型 Xamarin.Forms 项目做好准备,从敏捷的角度涉及整个团队。
在继续之前,我需要验证一个假设......单元测试。
我们计划使用适用于 Android 和 Windows Phone 的 TFS 以及 OSX 上的 Jenkins 来实现构建基础架构。创建单元测试项目时有什么需要特别注意的吗?
使用 NUnit
我可以只创建包含测试的类库吗? 他们需要是 PCL 吗? 这些可以在 OSX CI 盒子上工作吗?
如有任何澄清,我们将不胜感激。我似乎找不到关于这个主题的权威指南/入门书。
提前致谢。
最佳答案
我们使用类似的设置成功运行了一个产品(除非我们在 OSX 下构建所有内容)。
如果您想要测试的只是您的逻辑(毕竟,这不就是它的全部内容吗?),那么您不需要将测试程序集设为 PCL。这很好,因为您可以让测试程序集以完整的 .NET Framework 为目标,并且可以访问模拟框架(例如我个人最喜欢的 Moq)。选择 NUnit(或 XUnit)很重要,因为它允许您在 OSX 下运行它们。
如果我可以提出建议:您还可以使用 SpecFlow 等框架创建集成测试:在 Visual Studio 中工作(良好的设计界面可让您在调试器中单步执行功能文件!),并且测试运行在 OSX 下很好,因为它们实际上只是 N/XUnit 类。将其与 Xamarin 的新 UI.Test 框架结合起来,您就可以用煤气做饭了。
关于jenkins - Xamarin - 跨平台单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26550090/