Birim Testi Xamarin.iOS Uygulamaları
Bu belgede, Xamarin.iOS projeleriniz için birim testlerinin nasıl oluşturulacakları açık almaktadır. Xamarin.iOS ile birim testi, hem iOS test çalıştırıcısı hem de birim testleri yazmak için tanıdık bir API kümesi sağlayan Touch.Unit adlı değiştirilmiş bir NUnit sürümünü içeren Touch.Unit çerçevesi kullanılarak yapılır.
Mac için Visual Studio'de test projesi Mac için Visual Studio
Projeniz için birim testi çerçevesi kurulumu yapmak için tek gereken çözümünüze iOSBirim Testleri türünde bir proje eklemek Project. Bunu yapmak için çözümünüze sağ tıklar ve Yeni Ekle Ekle'yi Project. Listeden iOS Testleri'Unified API >> iOS Birim Testleri'Project (C# veya F# seçebilirsiniz) seçin.

Yukarıdaki, temel bir çalıştırıcı programı içeren ve yeni MonoTouch.NUnitLite derlemesi'ne başvurulan temel bir proje oluşturacak, projeniz şöyle olacaktır:

sınıfı AppDelegate.cs test çalıştırıcısı içerir ve şu şekildedir:
[Register ("AppDelegate")]
public partial class AppDelegate : UIApplicationDelegate
{
UIWindow window;
TouchRunner runner;
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
// create a new window instance based on the screen size
window = new UIWindow (UIScreen.MainScreen.Bounds);
runner = new TouchRunner (window);
// register every tests included in the main application/assembly
runner.Add (System.Reflection.Assembly.GetExecutingAssembly ());
window.RootViewController = new UINavigationController (runner.GetViewController ());
// make the window visible
window.MakeKeyAndVisible ();
return true;
}
}
Not
iOS Birim Testi proje türü Visual Studio 2019 veya Visual Studio 2017'de Windows.
Bazı Testler Yazma
Temel kabuğu hazır bulundurarak ilk test kümenizi yazmanız gerekir.
Testler, özniteliğinin uygulanmış olduğu sınıflar [TestFixture] oluşturarak yazılır. Her TestFixture sınıfının içinde, [Test] özniteliğini test çalıştırıcının çağırmalarını istediğiniz her yönteme uygulatın. Gerçek test denemeleri, Testler projenizin herhangi bir dosyasında yer alan herhangi bir dosyada yer almaktadır.
Hızlı bir şekilde çalışmaya başlamanız için Ekle/Yeni Dosya Ekle'yi seçin ve Xamarin.iOS grubu UnitTests'i seçin. Bu, bir geçiş testi, bir başarısız test ve bir yoksayılan test içeren bir iskelet dosyası ekler; şöyle olur:
using System;
using NUnit.Framework;
namespace Fixtures {
[TestFixture]
public class Tests {
[Test]
public void Pass ()
{
Assert.True (true);
}
[Test]
public void Fail ()
{
Assert.False (true);
}
[Test]
[Ignore ("another time")]
public void Ignore ()
{
Assert.True (false);
}
}
}
Testlerinizi Çalıştırma
Bu projeyi çözümünüz içinde çalıştırmak için sağ tıklayın ve ÖğeDeğerde Hata Ayıkla veya ÖğeyiÇalıştır'ı seçin.
Test çalıştırıcısı, hangi testlerin kayded edildiğini görme ve hangi testlerin yürütülecelerini ayrı ayrı seçmenizi sağlar.
İç içe geçmiş görünümlerden metinleri seçerek tek tek test denemeleri çalıştırabilirsiniz veya tüm testlerinizi "Her Şeyi Çalıştır" ile çalıştırabilirsiniz. Bir geçiş testi, bir hata ve bir yoksayılan test içermesi gereken varsayılan testi çalıştırın. Rapor bu şekildedir ve doğrudan başarısız olan testlerde detaya inebilirsiniz ve hata hakkında daha fazla bilgi bulabilirsiniz:
Ayrıca IDE'nizin Uygulama Çıkışı penceresine bakarak hangi testlerin yürütülmektedir ve bunların geçerli durumunu görebilirsiniz.
Yeni Testler Yazma
NUnitLite, NUnit'in Touch.Unit projesi olarak adlandırılan değiştirilmiş bir sürümüdür. .NET için NUnit'te fikirleri temel alan ve özelliklerinin bir alt kümesini sağlayan basit bir test çerçevesidir. Çok az kaynak kullanır ve ekli ve mobil geliştirmede kullanılanlar gibi kaynak kısıtlaması olan platformlarda çalışır. NUnitLite API'si, Xamarin.iOS'ta kullanılabilir. Birim testi şablonu tarafından sağlanan temel iskeletle ana giriş noktanız Assert sınıfı yöntemleridir.
Assert sınıfı yöntemlerine ek olarak, birim testi işlevi NUnitLite'ın parçası olan aşağıdaki ad alanlarına bölünüyor:





