2009-02-10 26 views
18

java'da bir Junit @Before ve @Test ek açıklamalarının kullanımı nedir? Onları netbeans ile nasıl kullanabilirim?JUnit @Before ve @Test nedir

+1

fazla bilgi sağlamak LÜTFEN, aksi takdirde biz bilmeni istiyorum bilmiyorum. – guerda

cevap

21
  1. seni doğru anladıysam, sen ne açıklama @Before araçları bilmek istiyorum. Ek açıklama, nolu her testinden önce yürütülecek bir yöntemi işaretler. Orada eski setup() prosedürünü uygulayabilirsiniz.

  2. @Test ek açıklaması aşağıdaki yöntemi JUnit testi olarak işaretler. Test pilotu, @Test ile açıklanmış her yöntemi tanımlayacak ve uygulayacaktır. Örnek: NetBeans

    import org.junit.*; 
    
    public class IntroductionTests { 
        @Test 
        public void testSum() { 
         Assert.assertEquals(8, 6 + 2); 
        } 
    } 
    
  3. How can i use it with Netbeans?, JUnit testleri için testrunner dahildir. Yürütme İletişim Kutunuzda seçebilirsiniz.

+0

Merhaba, test notunu kastediyorum ve JUNIt paketini nasıl ekleyeceğim ve bunu netbeans projemde kullanıyorum. –

49

Daha kesin misiniz? @Before ve @Test ek açıklamalarını anlamak ister misiniz? Ekleme, ekli bir yöntemin birim sınaması olduğunu belirten bir ek açıklamadır (JUnit 4'ten beri) ek açıklama ek açıklamadır (0 JUnit 4'ten beridir). Bu, bir test için herhangi bir yöntem adını kullanmanızı sağlar. Örneğin:

@Test 
public void doSomeTestOnAMethod() { 
    // Your test goes here. 
    ... 
} 

@Before açıklama ekli yöntem önce sınıf herhangi bir test çalıştırılacak belirtir. Temelde kurulumu için testler ihtiyaç duyduğu bazı nesneleri kullanılır:

(ithalat eklemek için düzenlenmiş):

import static org.junit.Assert.*; // Allows you to use directly assert methods, such as assertTrue(...), assertNull(...) 

import org.junit.Test; // for @Test 
import org.junit.Before; // for @Before 

public class MyTest { 

    private AnyObject anyObject; 

    @Before 
    public void initObjects() { 
     anyObject = new AnyObject(); 
    } 

    @Test 
    public void aTestUsingAnyObject() { 
     // Here, anyObject is not null... 
     assertNotNull(anyObject); 
     ... 
    } 

} 
+0

hey çok teşekkürler ... bu bilmek istediğim şey nedir? Açıklamalar @ test ve @ ek açıklamalardan önce kullanmak için eklerim ve nasıl netbeans yapabilirim? –

+0

Romaintaz 'yanıtında belirtildiği gibi: import org.junit.Test; // için @Test import org.junit.Before; // for @Before – guerda

+0

@romaintaz - '@Before' yöntemi dosyadaki tüm testlerden önce çalışır mı yoksa dosyadaki tüm testler için bir kez mi çalışır? Sınıftaki her testten önce – ziggy