【问题标题】:Unit Testing Monotouch under Visual StudioVisual Studio 下的单元测试 Monotouch
【发布时间】:2013-05-06 03:27:36
【问题描述】:

我有一个 Monotouch iOS 应用程序,我正在使用 Xamarin 的新 Visual-Studio 插件在 Visual Studio 中编写它。

我想要一种在 Visual Studio 中执行单元测试的方法(例如,使用 Resharper 运行器)。

我不太在意我使用的是哪个单元测试工具(它们目前被编写为 nUnit 测试)。

我知道 Xamarin 支持 Touch.Unit,它可以让我在设备或模拟器上运行,但是这个周期太长了,我需要它在我的 windows 机器上运行。

我尝试使用NUnitLite,但是这仍然存在无法在windows机器上运行的问题。

我还尝试使用 Visual Studio 解决方案配置,理论上应该允许我在下拉列表中选择不同的构建配置来在窗口(对于我的跨平台核心库 + 它的测试)和 Monotouch(对于 IOS UI 应用程序、跨平台库和 IOS 测试),但在此,项目引用并没有自动切换到其他框架,或者我只是搞砸了如何正确设置辅助构建配置。

最后,使用两个不同的解决方案文件和单独的项目文件集并不理想,因为需要切换并保持克隆项目的文件同步。

关于完成简单、快速的单元测试的最佳方法有什么想法吗?

【问题讨论】:

    标签: visual-studio unit-testing xamarin.ios nunit


    【解决方案1】:

    我过去完成这项工作的方式是:

    1. 将所有核心代码放在常规的 .Net 4 库中。这个图书馆 不依赖于 iOS 或 Android。
    2. 在您的断言中使用 NUnit Lite 语法针对另一个 .Net 4 项目中的核心库编写测试。使用 ReSharper 随心所欲地运行它们。
    3. 如果您愿意,可以设置一个 iOS 项目以在模拟器中运行测试 - 链接所有测试文件

    在 iOS 或 Android 上,您需要从核心项目中链接文件。

    如果您的测试中有任何特定于平台的代码,您将无法使用 ReSharper 运行它们。

    如果你想看一个例子,我们对Xamarin's Field Service app采取了同样的方法。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 2016-10-30
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      相关资源
      最近更新 更多