Visual Studio 2017 年的 Xamarin (Android) 单元测试
Xamarin (Android) Unit Tests in Visual Studio 2017
我正在使用 Visual Studio 2017 开发 Xamarin Android 应用程序。我只想添加简单的逻辑单元测试。为此,我尝试添加 "Unit Test App (Android)" 或 "Class Library (Android)" 带有单元测试的项目,其中 none 有效。
单元测试应用程序 (Android)
我将新项目添加到我的 "Unit Test App (Android)" 类型的解决方案中。生成的项目包含 TestsSample
class 和示例测试,但我不知道如何启动它们。我安装了 ReSharper,但是当右键单击 project/class 时,我没有选择 运行 测试。
当我转到 "Test" -> "Run" -> "All tests" 时,解决方案已构建,但没有其他任何反应。
Class 带有 nUnit
的库 (Android)
另一个尝试是将 "Class Library (Android)" 类型的新项目添加到解决方案中。之后,我安装了 nUnit nuget 包(install-package nunit
相对于项目 'MoneyBack.Tests' 安装了包 'nunit.3.6.1',目标 'MonoAndroid,Version=v6.0'),安装成功。
我添加了以下内容class:
using NUnit.Framework;
namespace MoneyBack.Tests
{
[TestFixture]
public class Class1
{
[Test]
public void SampleTest()
{
Assert.IsTrue(true);
}
}
}
现在,当右键单击测试项目时,我看到 ReSharper 的选项 "Run Unit Tests",因此我单击它并得到以下异常:
我做错了什么吗?还是 VS2017 的问题?我不知道我是否应该重新安装 VS2015 或者有一些解决方案。感谢您的帮助!
测试分为三个基本级别:
纯 .Net/Mono 代码的经典单元测试,通过 xUnit|NUnit
- 这里没有什么新鲜事,这是 .Net 程序员一直在做的相同测试,与 Xamarin 平台框架无关
注意:这些测试完全独立于 Xamarin.Android|iOS|Mac
平台测试(包括平台功能)
注意:有多个用于 NUnit、XUnit 等的设备测试包装器...Xamarin 包含一个 NUnitLite
版本,运行s 在 Android
和 iOS
并提供特定于设备的 UI 到 运行 这些测试。 Xamarin 具有为 Android 或 iOS.
创建 Unit Test App
项目的模板
注意:这些测试可以包括依赖于平台的功能(网络、蓝牙、GPS、SMS 等...但没有 GUI 相关测试)并且还可以参考 Nunit [Test]
编写的在基于 PCL 的程序集或特定于平台的库中。
NUnitLite 的替代品:
UI 测试
A Casabash/Appium/... 应用程序中 UI 元素的驱动测试及其对输入(触摸)事件的反应。
测试Cloud/Mobile中心and/or其他本地,public或私有移动测试云
-
- 您需要安装 nUnit 2.6.X 才能使用 xamarin.UItest。
- n不支持单元 3。
测试 运行 来自设备本身,而不是像我们习惯的那样直接来自代码。做这个:
1. 将你的 android 项目设置为 VS 启动项目
2. Select要执行单元测试项目的硬件或模拟器
3.运行它
4.单元测试项目将在设备中部署和执行。
5. 点击带有项目名称的行。将出现可用的测试。点击每一个进行执行和调试! :)
我正在使用 Visual Studio 2017 开发 Xamarin Android 应用程序。我只想添加简单的逻辑单元测试。为此,我尝试添加 "Unit Test App (Android)" 或 "Class Library (Android)" 带有单元测试的项目,其中 none 有效。
单元测试应用程序 (Android)
我将新项目添加到我的 "Unit Test App (Android)" 类型的解决方案中。生成的项目包含 TestsSample
class 和示例测试,但我不知道如何启动它们。我安装了 ReSharper,但是当右键单击 project/class 时,我没有选择 运行 测试。
当我转到 "Test" -> "Run" -> "All tests" 时,解决方案已构建,但没有其他任何反应。
Class 带有 nUnit
的库 (Android)另一个尝试是将 "Class Library (Android)" 类型的新项目添加到解决方案中。之后,我安装了 nUnit nuget 包(install-package nunit
相对于项目 'MoneyBack.Tests' 安装了包 'nunit.3.6.1',目标 'MonoAndroid,Version=v6.0'),安装成功。
我添加了以下内容class:
using NUnit.Framework;
namespace MoneyBack.Tests
{
[TestFixture]
public class Class1
{
[Test]
public void SampleTest()
{
Assert.IsTrue(true);
}
}
}
现在,当右键单击测试项目时,我看到 ReSharper 的选项 "Run Unit Tests",因此我单击它并得到以下异常:
我做错了什么吗?还是 VS2017 的问题?我不知道我是否应该重新安装 VS2015 或者有一些解决方案。感谢您的帮助!
测试分为三个基本级别:
纯 .Net/Mono 代码的经典单元测试,通过 xUnit|NUnit
- 这里没有什么新鲜事,这是 .Net 程序员一直在做的相同测试,与 Xamarin 平台框架无关
注意:这些测试完全独立于 Xamarin.Android|iOS|Mac
平台测试(包括平台功能)
注意:有多个用于 NUnit、XUnit 等的设备测试包装器...Xamarin 包含一个 NUnitLite
版本,运行s 在 Android
和 iOS
并提供特定于设备的 UI 到 运行 这些测试。 Xamarin 具有为 Android 或 iOS.
Unit Test App
项目的模板
注意:这些测试可以包括依赖于平台的功能(网络、蓝牙、GPS、SMS 等...但没有 GUI 相关测试)并且还可以参考 Nunit [Test]
编写的在基于 PCL 的程序集或特定于平台的库中。
UI 测试
A Casabash/Appium/... 应用程序中 UI 元素的驱动测试及其对输入(触摸)事件的反应。
测试Cloud/Mobile中心and/or其他本地,public或私有移动测试云
- 您需要安装 nUnit 2.6.X 才能使用 xamarin.UItest。
- n不支持单元 3。
测试 运行 来自设备本身,而不是像我们习惯的那样直接来自代码。做这个: 1. 将你的 android 项目设置为 VS 启动项目 2. Select要执行单元测试项目的硬件或模拟器 3.运行它 4.单元测试项目将在设备中部署和执行。 5. 点击带有项目名称的行。将出现可用的测试。点击每一个进行执行和调试! :)