1

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

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

我不太关心我使用了哪个单元测试工具(它们目前被编写为 nUnit 测试)。

我知道 Xamarin 支持 Touch.Unit,这将允许我在设备或模拟器上运行,但这太长的周期时间,我需要它在我的 Windows 机器上运行。

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

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

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

关于完成简单、快速、单元测试的最佳方法的任何想法?

4

1 回答 1

1

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

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

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

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

如果您想查看示例,我们对Xamarin 的 Field Service 应用程序采用了相同的方法。

于 2013-05-07T17:42:41.427 回答