Skip to content

8. Ekler

8.1. Spring'i nerede bulabilirim?

Spring'in ana sitesi [http://www.springframework.org/]'tir. Bu, Java sürümünün sitesidir. Geliştirme aşamasında olan (.NET) sürüm (Nisan 2005) [http://www.springframework.net/] adresinde bulunur.

Image

İndirme sitesi [SourceForge] adresindedir:

Image

Yukarıdaki zip dosyasını indirdikten sonra, dosyayı açın:

Image

Bu belgede, yalnızca [bin] klasörünün içeriğini kullandık:

Image

Spring kullanan bir Visual Studio projesinde, sistematik olarak iki şey yapmanız gerekir:

  • yukarıdaki dosyaları projenin [bin] klasörüne yerleştirmek
  • Projeye [Spring.Core.dll] derlemesine bir referans eklemek

8.2. Nunit nerede bulunur?

Nunit'in ana web sitesi [http://www.nunit.org/]'tir. Nisan 2005'te mevcut olan sürüm 2.2.0'dır:

Image

Bu sürümü indirin ve kurun. Kurulum, test amaçlı grafik sürümünün bulunduğu bir klasör oluşturur:

İlginç olan kısım ise [bin] klasöründe yer almaktadır:

Image

Image

Yukarıdaki ok, grafiksel test yardımcı programını göstermektedir. Kurulum ayrıca Visual Studio derleme deposuna yeni öğeler eklemiştir; bunları şimdi inceleyeceğiz.

Aşağıdaki Visual Studio projesini oluşturalım:

Test edilen sınıf, [Personne.vb] dosyasındadır:

Image

Public Class Personne

     ' özel alanlar
    Private _nom As String
    Private _age As Integer

     ' varsayılan oluşturucu
    Public Sub New()
    End Sub

     ' özel alanlarla ilişkili özellikler
    Public Property nom() As String
        Get
            Return _nom
        End Get
        Set(ByVal Value As String)
            _nom = Value
        End Set
    End Property

    Public Property age() As Integer
        Get
            Return _age
        End Get
        Set(ByVal Value As Integer)
            _age = Value
        End Set
    End Property

     ' kimlik dizesi
    Public Overrides Function tostring() As String
        Return String.Format("[{0},{1}]", nom, age)
    End Function

     ' init yöntemi
    Public Sub init()
        Console.WriteLine("init personne {0}", Me.ToString)
    End Sub

     ' kapatma yöntemi
    Public Sub close()
        Console.WriteLine("destroy personne {0}", Me.ToString)
    End Sub

End Class

Test sınıfı [NunitTestPersonne-1.vb]'tedir:

Imports System
Imports NUnit.Framework

<TestFixture()> _
 Public Class NunitTestPersonne

     ' test edilen nesne
    Private personne1 As Personne

    <SetUp()> _
    Public Sub init()
         ' Personne nesnesinin bir örneği oluşturulur
        personne1 = New Personne
         ' günlük
        Console.WriteLine("setup test")
    End Sub

    <Test()> _
    Public Sub demo()
         ' ekran günlüğü
        Console.WriteLine("début test")
         ' person1'i başlatma
        With personne1
            .nom = "paul"
            .age = 10
        End With
         ' testler
        Assert.AreEqual("paul", personne1.nom)
        Assert.AreEqual(10, personne1.age)
         ' ekran günlüğü
        Console.WriteLine("fin test")
    End Sub

    <TearDown()> _
    Public Sub destroy()
         ' izleme
        Console.WriteLine("teardown test")
    End Sub

End Class

Dikkat edilmesi gereken birkaç nokta vardır:

  • Yöntemler, <Setup()>, <TearDown()> gibi özniteliklere sahiptir...
  • Bu özniteliklerin tanınabilmesi için şunların sağlanması gerekir:
    • projenin [nunit.framework.dll] derlemesine referans vermesi
    • test sınıfı, [NUnit.Framework] ad alanını içermelidir

Referans, Çözüm Gezgini'nde [References] öğesine sağ tıklanarak eklenir:

Image

[Nunit]'in kurulumu başarılı bir şekilde tamamlandıysa, [nunit.framework.dll] derlemesi önerilen listede yer almalıdır. Derlemeyi projeye eklemek için üzerine çift tıklamanız yeterlidir:

Image

Bu işlem tamamlandıktan sonra, [NunitTestPersonne] test sınıfı, [NUnit.Framework] ad alanını içe aktarmalıdır:

Imports NUnit.Framework

Ardından, [NunitTestPersonne] test sınıfının öznitelikleri tanınmalıdır.

  • <Test()> özniteliği, test edilecek bir yöntemi belirtir
  • <Setup()> özniteliği, test edilen her yöntemden önce çalıştırılacak yöntemi belirtir
  • <TearDown()> özniteliği, test edilen her yöntemin ardından çalıştırılacak yöntemi belirtir
  • Assert.AreEqual yöntemi, iki entités.Il'in eşitliğini test etmeye yarar Assert.xx türünde birçok başka yöntem de mevcuttur.
  • NUnit yardımcı programı, bir [Assert] yöntemi başarısız olur olmaz test edilen yöntemin yürütülmesini durdurur ve bir hata mesajı görüntüler. Aksi takdirde bir başarı mesajı görüntüler.

Projemizi bir DLL oluşturacak şekilde yapılandıralım:

Image

Oluşturulan DLL, [nunit-demos-1.dll] olarak adlandırılacak ve varsayılan olarak projenin [bin] klasörüne yerleştirilecektir. Projemizi derleyelim. [bin] klasöründe şunları elde ederiz:

Image

Şimdi Nunit grafik test yardımcı programını çalıştıralım. Bu programın <Nunit>\bin klasöründe bulunduğunu ve adının [nunit-gui.exe] olduğunu hatırlayalım. <Nunit>, [Nunit]'in kurulum klasörünü ifade eder. Aşağıdaki arayüz karşımıza çıkar:

Image

Projemizdeki DLL ve [nunit-demos-1.dll] dosyalarını yüklemek için [File/Open] menü seçeneğini kullanalım:

Image

[Nunit], yüklenen DLL dosyasında bulunan test sınıflarını otomatik olarak algılayabilir. Burada, [NunitTestPersonne] sınıfını bulur. Ardından, <Test()> özniteliğine sahip olan sınıfın tüm yöntemlerini görüntüler. [Run] düğmesi, seçilen nesne üzerinde testleri başlatmaya yarar. Seçilen nesne [NunitTestPersonne] sınıfı ise, görüntülenen tüm yöntemler test edilir. Belirli bir yöntemin test edilmesini, o yöntemi seçip [Run] ile çalıştırılmasını talep ederek sağlayabilirsiniz. Şimdi sınıfın çalıştırılmasını talep edelim:

Image

Bir yöntemin testi başarılı olduğunda, sol pencerede yöntemin yanında yeşil bir nokta görünür. Test başarısız olduğunda ise kırmızı bir nokta görünür.

Sağdaki [Console.Out] penceresi, test edilen yöntemlerin ürettiği ekran görüntülerini gösterir. Burada, bir testin seyrini takip etmek istedik:

1
2
3
4
setup test
début test
fin test
teardown test
  • 1. satır, <Setup()> öznitelik yönteminin testten önce yürütüldüğünü gösterir
  • 2-3. satırlar, test edilen [demo] yöntemi tarafından üretilmiştir (yukarıdaki koda bakın)
  • 4. satır, <TearDown()> öznitelik yönteminin testten sonra yürütüldüğünü gösterir