[英]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.