Xamarin - 单元测试应用程序(android) - 定义用法

时间:2017-01-31 08:55:36

标签: android unit-testing xamarin xamarin.android

今天我一直在为我们的Xamarin Android应用程序查看单元测试应用程序(Android)

enter image description here

然而,缺乏任何官方文件和正确的解释使我对如何实际使用这个=>非常不确定。 用什么来测试

据我所知,对于UI测试,我们有 UI测试应用。对于包含某些业务逻辑的PCL / Share类库,我只使用标准的NUnit项目。

"单元测试应用(Android)项目是否可用作:

  1. 如果我有一个" Android类库",请在那里引用它并测试其中包含的代码?
  2. 引用一个Android项目,然后用一些魔法,测试那里包含的代码? (虽然我无法想象它会如何起作用)
  3. 我还没有想过的其他东西。
  4. 这是单元测试应用(Android)项目中的一些测试示例。我希望你能同意这是一个非常不确定的例子:

    \b(2)\b

2 个答案:

答案 0 :(得分:1)

我想引用Xamarin的JohnathanPryor来回答你的问题:

  

不要将Application项目添加到Application项目;事   通常不会像你期望的那样工作。

,而不是...

  

因为将Application项目添加为项目引用   应用项目(仍然!)不建议(至少在使用之前)   穿项目支持),这从来都不是对你进行单元测试的好方法   代码。

     

因此,您应该做的是放置您想要的任何代码   单元测试项目使用的是在Android库(或PCL)中   项目。这将确保您正在测试的类型可以使用Android   资源“通常”,事情通常按预期工作   期望,单元测试项目可以使用您的代码   和你真正关心的应用程序项目。

再次引用该线程,其中一个可能的解决方案是

  

MyProj(解决方案)

     
      
  • MyProj(PCL)
  •   
  • MyProj.Android(默认Xamarin项目)
  •   
  • MyProj.Android.Shared(Android类库)
  •   
  • MyProj.Android.Test> (Android单元测试应用程序)
  •   
  • MyProj.iOS(默认Xamarin项目)
  •   
     

MyProj.Android几乎没有包含任何内容和MyProj.Android.Shared   包含所有内容(活动/捆绑包等),以便它们可以   在Android单元测试中引用

使用Shared Project

答案 1 :(得分:0)

基本上,Android Unit Test项目拥有自己的UI,允许您在实际平台上执行时运行单元测试,即在实际的Android设备或模拟器上运行。用户界面非常简单,juts允许启动单元测试并查看结果。是的,您可以引用Android类库,我也可以想象一个Android应用程序项目。

这是一篇关于这个主题的好文章:https://medium.com/@_kbremner/automating-android-unit-tests-with-xamarin-6058d101eb97#.5t77lbvzd