SORU
25 Ocak 2010, PAZARTESİ


@BeforeClass ve miras - icra emri

Benim birim testleri için bir temel (Eğer 5.10) olan soyut bir temel sınıf var. Bu sınıfta benim testler için tüm çevre, veritabanı eşlemeleri, vb kurma başlatılamadı. Soyut sınıf başlatma yapar @BeforeClass bir açıklama ile bir yöntemi vardır. Sonraki şey, @Test yöntemleri var özel sınıflar ve @BeforeClass yöntem de şu sınıf sunuyorum. Bu yöntemler, belirli bir sınıf ortamı veritabanına bazı kayıtlar koymak başlatma.

Benim sorum @BeforeClass açıklamalı yöntemleri belirli bir düzeni sağlamak istiyorum. Soyut temel sınıfından olanlar uzanan sınıfı olanlar önce idam edilmesi lazım.

Örnek:

abstract class A {
 @BeforeClass
 doInitialization() {...}
}

class B extends A {
 @BeforeClass
 doSpecificInitialization() {...}

 @Test
 doTests() {...}
}

Sipariş bekleniyor:

A.doInitialization
B.doSpecificInitialization
B.doTests

Gerçek sipariş:

B.doSpecificInitialization // <- crashes, as the basic init is missing
(A.doInitialization        // <---not executed
 B.doTests)                // <-/

CEVAP
25 Ocak 2010, PAZARTESİ


düzenleme:Cevap aşağıdaJUnityararlı olabilir, çünkü , ama yine de burada bırakıyorum.

JUnit api göre: "superclasses @BeforeClass yöntemleri bu geçerli dersten önce çalışma olacak."

Bu test, ve benim için iş gibi görünüyor...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Peyton

    Peyton

    28 Aralık 2008
  • super1988guy

    super1988guy

    9 Aralık 2007
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009