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

Daw*_*ski 5 c# android unit-testing xamarin visual-studio-2017

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

单元测试应用程序(Android)

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

带有nUnit的类库(Android)

另一个试验是在解决方案中添加"类库(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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

Sus*_*ver 13

测试有三个基本级别:

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

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

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

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

注意:有多个设备上测试封装器NUnit的,的xUnit,等等Xamarin包括NUnitLite运行在版本AndroidiOS和提供特定于设备的用户界面来运行这些测试.Xamarin具有Unit Test App为Android或iOS 创建项目的模板.

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

NUnitLite的替代方案:

UI测试

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

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

  • Xamarin测试云