我正在使用Visual Studio 2017来开发Xamarin Android应用程序 . 我想只添加简单的逻辑单元测试 . 为此,我尝试使用单元测试添加“单元测试应用程序(Android)”或“类库(Android)”项目,但没有一项工作 .
单元测试应用程序(Android)
我将新项目添加到我的"Unit Test App (Android)"类型的解决方案中 . 生成的项目包含带有样本测试的 TestsSample
类,但我不知道如何启动它们 . 我安装了ReSharper,但是当右键单击项目/类时,我没有运行测试的选项 . 当我转到"Test" - > "Run" - > "All tests"时,解决方案已构建,但不会发生任何其他情况 .
带有nUnit的
类库(Android)
另一个试验是在解决方案中添加"Class Library (Android)"类型的新项目 . 之后,我安装了nUnit nuget包( install-package nunit
,相对于项目'MoneyBack.Tests'安装了包'nunit.3.6.1',目标是'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",所以我点击它并得到以下异常:
难道我做错了什么 ?或者这是VS2017的问题?我不知道我是否应该安装VS2015或者有一些解决方案 . 谢谢你的帮助!
3 回答
测试有三个基本级别:
通过xUnit | NUnit对纯.Net / Mono代码进行经典单元测试
注意:这些测试完全独立于
Xamarin.Android|iOS|Mac
平台测试(包括平台功能)
注意:NUnit,XUnit等有多个设备测试包装器...... Xamarin包含
NUnitLite
版本,该版本在Android
和iOS
上运行,并提供特定于设备的UI来运行这些测试 . Xamarin具有为Android或iOS创建 Unit Test App 项目的模板 .注意:这些测试可以包括平台相关功能(网络,蓝牙,GPS,SMS等......但没有与GUI相关的测试),也可以参考基于PCL的程序集或平台特定库中编写的Nunit
[Test]
.Xamarin.iOS Unit Testing
Xamarin.Mac Unit Testing via GUIUnit
Xamarin.Android Setup and Automating
NUnitLite的替代方案:
xUnit.net Runners for Devices
NUnit test runners for Xamarin and mobile devices
UI测试
Casabash / Appium / ...驱动应用程序中UI元素的测试以及它们对输入(触摸)事件的反应 .
测试 Cloud /移动中心和/或其他本地,公共或私人移动测试 Cloud
Xamarin Test Cloud
测试是从设备本身运行,而不是像我们习惯的那样直接从代码运行 . 这样做:1 . 将android项目设置为VS启动项目2.选择要执行单元测试项目的harware或模拟器3.运行它4.单元测试项目将在设备中部署和执行 . 5.点击带有项目名称的行 . 将出现可用的测试 . 点击每个执行和调试! :)
您需要安装nUnit 2.6.X才能使用xamarin.UItest .
nUnit 3不受支持 .