首页 文章

Xamarin(Android)单元测试在Visual Studio 2017中

提问于
浏览
2

我正在使用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",所以我点击它并得到以下异常:
TargetInvocationException

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

3 回答

  • 1

    测试有三个基本级别:

    通过xUnit | NUnit对纯.Net / Mono代码进行经典单元测试

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

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

    平台测试(包括平台功能)

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

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

    NUnitLite的替代方案:

    UI测试

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

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

    • Xamarin Test Cloud

  • 8

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

  • 0
    • 您需要安装nUnit 2.6.X才能使用xamarin.UItest .

    • nUnit 3不受支持 .

相关问题