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

  • karneson

    karneson

    23 Temmuz 2006
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • Whizzpopping

    Whizzpopping

    10 Kasım 2005