[英]Xamarin - Unit Test App (android) - defining usage
今天,我一直在为Xamarin Android应用查看单元测试应用(Android) 。
但是,由于缺少任何官方文档和适当的解释,我对如何实际使用此=> 进行测试尚无定论。
我了解,对于UI测试,我们具有UI测试应用程序 。 对于包含某些业务逻辑的PCL / Share类库,我仅使用一个标准的NUnit项目。
“ Unit Test App(Android)项目是否打算用作:
这是单元测试应用程序(Android)项目中一些测试的示例。 我希望您可以同意这是一个非常不确定的示例:
[TestFixture]
public class TestsSample
{
[SetUp]
public void Setup() { }
[TearDown]
public void Tear() { }
[Test]
public void Pass()
{
Console.WriteLine("test1");
Assert.True(true);
}
[Test]
public void Fail()
{
Assert.False(true);
}
[Test]
[Ignore("another time")]
public void Ignore()
{
Assert.True(false);
}
[Test]
public void Inconclusive()
{
Assert.Inconclusive("Inconclusive");
}
}
我想引用Xamarin的JohnathanPryor回答您的问题:
不要将应用程序项目添加到应用程序项目中; 通常情况下,您将无法正常工作。
代替...
因为不建议(至少在使用Wear项目支持之前)将Application项目作为对Application项目的项目引用添加(至少!),所以这从来不是对单元代码进行单元测试的好方法。
因此,您应该做的是将要由单元测试项目使用的任何代码放在Android库(或PCL)项目中。 这将确保您正在测试的类型可以“正常”使用Android资源,使一切正常地按预期和期望运行,并且您真正关心的单元测试项目和Application项目都可以使用您的代码。
再次引用该线程,可能的解决方案之一是
MyProj(解决方案)
- MyProj(PCL)
- MyProj.Android(默认Xamarin项目)
- MyProj.Android.Shared(Android类库)
- MyProj.Android.Test>(Android单元测试应用程序)
- MyProj.iOS(默认Xamarin项目)
其中MyProj.Android几乎不包含任何内容,而MyProj.Android.Shared包含所有内容(活动/捆绑等),因此可以在Android单元测试中引用它们
要么
使用共享项目
基本上,Android单元测试项目具有其自己的UI,并允许您在实际平台(即,实际的Android设备或模拟器)上执行时运行单元测试。 用户界面非常简单,突出显示可以启动单元测试并查看结果。 是的,您可以引用一个Android类库,我也可以想象一个Android应用程序项目。
这是一篇关于该主题的好博客文章: https : //medium.com/@_kbremner/automating-android-unit-tests-with-xamarin-6058d101eb97#.5t77lbvzd
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.