Bagikan melalui


Pengujian Unit Aplikasi Xamarin.iOS

Dokumen ini menjelaskan cara membuat pengujian unit untuk proyek Xamarin.iOS Anda. Pengujian unit dengan Xamarin.iOS dilakukan menggunakan kerangka kerja Touch.Unit yang mencakup runner pengujian iOS serta versi NUnit yang dimodifikasi yang disebut Touch.Unit yang menyediakan sekumpulan API yang familier untuk pengujian unit penulisan.

Menyiapkan proyek pengujian di Visual Studio untuk Mac

Untuk menyiapkan kerangka kerja pengujian unit untuk proyek Anda, yang perlu Anda lakukan adalah menambahkan ke solusi Anda proyek jenis Proyek Pengujian Unit iOS. Lakukan ini dengan mengklik kanan pada solusi Anda dan memilih Tambahkan > Proyek Baru. Dari daftar pilih iOS > Tests > Unified API > iOS Unit Tests Project (Anda dapat memilih C# atau F#).

Choose either C# or F#

Di atas akan membuat proyek dasar yang berisi program pelari dasar dan yang mereferensikan rakitan MonoTouch.NUnitLite baru, proyek Anda akan terlihat seperti ini:

The project in the Solution Explorer

Kelas AppDelegate.cs berisi runner pengujian, dan terlihat seperti ini:

[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;
    }
}

Catatan

Jenis proyek Uji Unit iOS tidak tersedia di Visual Studio 2019 atau Visual Studio 2017 di Windows.

Menulis Beberapa Tes

Sekarang setelah Anda memiliki shell dasar, Anda harus menulis serangkaian pengujian pertama Anda.

Pengujian ditulis dengan membuat kelas yang memiliki [TestFixture] atribut yang diterapkan padanya. Di dalam setiap kelas TestFixture, Anda harus menerapkan [Test] atribut ke setiap metode yang Anda inginkan untuk dipanggil oleh runner pengujian. Perlengkapan pengujian aktual dapat hidup dalam file apa pun di proyek Pengujian Anda.

Untuk memulai dengan cepat, pilih Tambahkan/Tambahkan File Baru dan pilih di UnitTests grup Xamarin.iOS. Ini akan menambahkan file kerangka yang berisi satu pengujian lulus, satu pengujian yang gagal dan satu pengujian yang diabaikan, terlihat seperti ini:

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);
        }
    }
}

Menjalankan Pengujian Anda

Untuk menjalankan proyek ini di dalam solusi Anda klik kanan dan pilih Debug Item atau Jalankan Item.

Runner pengujian memungkinkan Anda untuk melihat pengujian mana yang terdaftar dan memilih satu per satu pengujian mana yang dapat dijalankan.

The list of registered testsAn individual text

The run results

Anda dapat menjalankan perlengkapan pengujian individual dengan memilih perlengkapan teks dari tampilan berlapis, atau Anda dapat menjalankan semua pengujian dengan "Jalankan Semuanya". Jika Anda menjalankan pengujian default yang seharusnya menyertakan satu pengujian lulus, satu kegagalan dan satu pengujian yang diabaikan. Seperti inilah tampilan laporan, dan Anda dapat menelusuri secara langsung ke pengujian yang gagal dan mencari tahu informasi selengkapnya tentang kegagalan:

Screenshot shows a sample report, Test Runner screen.Screenshot shows a sample report, Tests screen.Screenshot shows a sample report, Test screen with test status.

Anda juga dapat melihat jendela Output Aplikasi di IDE Anda untuk melihat pengujian mana yang sedang dijalankan dan statusnya saat ini.

Menulis Tes Baru

NUnitLite adalah versi NUnit yang dimodifikasi yang disebut proyek Touch.Unit . Ini adalah kerangka kerja pengujian ringan untuk .NET, berdasarkan ide-ide di NUnit dan menyediakan subset fitur-fiturnya. Ini menggunakan sumber daya minimal dan akan berjalan pada platform yang dibatasi sumber daya seperti yang digunakan dalam pengembangan tertanam dan seluler. NUnitLite API tersedia untuk Anda di Xamarin.iOS. Dengan kerangka dasar yang disediakan oleh templat pengujian unit, titik masuk utama Anda adalah metode kelas Assert.

Selain metode kelas pernyataan, fungsionalitas pengujian unit dibagi pada namespace berikut yang merupakan bagian dari NUnitLite: