Xamarin(Android)unit testing在Visual Studio 2017中

我正在使用Visual Studio 2017来开发Xamarin Android应用程序。 我想只添加逻辑的简单unit testing。 为此,我尝试使用unit testing添加“unit testing应用程序(Android)”或“类库(Android)”项目,但没有一个工作。

unit testing应用程序(Android)

我将新项目添加到我的“unit testing应用程序(Android)”类型的解决方案中。 生成的项目包含带有样本测试的TestsSample类,但我不知道如何启动它们。 我安装了ReSharper,但是当右键单击项目/类时,我没有运行测试的选项。 当我进入“测试” – >“运行” – >“所有测试”时,解决方案已经构建,但没有更多的事情发生。

带有nUnit的类库(Android)

另一个试验是在解决方案中添加“类库(Android)”类型的新项目。 之后,我安装了nUnit nuget软件包( install-package nunit安装包’nunit.3.6.1’,关于项目’MoneyBack.Tests’,目标是’MonoAndroid,Version = v6.0’),安装成功。

我添加了以下类:

 using NUnit.Framework; namespace MoneyBack.Tests { [TestFixture] public class Class1 { [Test] public void SampleTest() { Assert.IsTrue(true); } } } 

现在,当右键单击测试项目时,我看到ReSharper的选项“Run Unit Tests”,所以我点击它并得到以下exception: TargetInvocationException

难道我做错了什么 ? 或者这是VS2017的问题? 我不知道我是否应该安装VS2015或者有一些解决方案。 谢谢你的帮助!

测试有三个基本级别:

通过xUnit | NUnit对纯.Net / Mono代码进行经典unit testing

  • 这里没什么新东西,这是.Net程序员一直在做的同样的测试,与Xamarin平台框架无关

注意:这些测试完全独立Xamarin.Android|iOS|Mac

关于平台测试(包括平台function)

注意:NUnit, NUnitLite等有多个设备测试包装器…… Xamarin包含一个在AndroidiOS上运行的NUnitLite版本,它提供了一个特定于设备的UI来运行这些测试。 Xamarin具有为Android或iOS创建Unit Test App项目的模板。

注意:这些测试可以包括平台相关function(网络,蓝牙,GPS,SMS等……但没有与GUI相关的测试),也可以参考用基于PCL的程序集或平台特定库编写的Nunit [Test]

  • Xamarin.iOSunit testing
  • 通过GUIUnit Xamarin.Macunit testing
  • Xamarin.Android设置和自动化

NUnitLite的替代品:

  • xUnit.net设备运行器
  • 适用于Xamarin和移动设备的NUnit测试运行器

UI测试

Casabash / Appium / …驱动应用程序中UI元素的测试以及它们对输入(触摸)事件的反应。

  • 测试云/移动中心和/或其他本地,公共或私人移动测试云

  • Xamarin测试云

测试是从设备本身运行的,而不是像我们习惯的那样直接从代码运行。 这样做:1。将android项目设置为VS启动项目2.选择要执行unit testing项目的harware或模拟器3.运行4.unit testing项目将在设备中部署和执行。 5.点击包含项目名称的行。 将出现可用的测试。 点击每个执行和调试! 🙂

  1. 您需要安装nUnit 2.6.X才能使用xamarin.UItest。
  2. 不支持nUnit 3。