【发布时间】:2017-08-13 18:54:48
【问题描述】:
我正在使用 Visual Studio 2017 开发 Xamarin Android 应用程序。我只想添加简单的逻辑单元测试。为此,我尝试添加带有单元测试的“单元测试应用程序 (Android)”或“类库 (Android)”项目,但它们都不起作用。
单元测试应用 (Android)
我将新项目添加到“单元测试应用程序 (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 的选项“运行单元测试”,所以我单击它并得到以下异常:
我做错了吗?还是 VS2017 的问题?我不知道我是否应该重新安装 VS2015 或者有一些解决方案。感谢您的帮助!
【问题讨论】:
-
Unit Test App (Android)项目需要在设备/模拟器上运行,因为它需要运行Xamarin.Android框架。NUnit 2.6.x也是必需的。 -
请在此处复制并粘贴异常,而不是发布屏幕截图。
-
我无法复制粘贴此异常,这是一个没有文本框的窗口... @SushiHangover 即使它需要模拟器,它也应该启动它,而不是抛出异常,对吗?顺便说一句,我只想测试我的平台无关逻辑,我是否总是需要在设备上运行测试?即使是,我也做不到..
-
@DawidSibinski Platform-独立逻辑测试应该在标准/PCL NUnit/XUnit/...测试项目中进行。至于您的
Unit Test App (Android) project,设置 Android 设备/模拟器目标并构建/运行应用程序(Resharper 对 Xamarin 特定设备测试一无所知)。 -
@SushiHangover 啊,你看,我添加了“单元测试项目(.NET Framework)”,它可以工作了!谢谢!这就是我一直在寻找的。但是,我仍然无法在设备上启动这些测试...
标签: c# android unit-testing xamarin visual-studio-2017