2010-06-03 23 views
27

Javadoc yorumlarını junit test dersleri ve yöntemlerine koymak en iyi yöntem midir? Ya da test niyetinin bir anlatımını sunmanın gereksiz olduğunu okumak için bu kadar kolay ve basit olması gerektiği fikri nedir?Javadoc?

cevap

17

Kişisel olarak javadoc yorumlarını, ekran dağınıklığı arttıkça bulduğum şekilde kullanıyorum. Bir sınıf, işlev ya da değişkeni daha açık bir şekilde tanımlayabilirsem, bir yoruma tercih edeceğim. Bu konuda okumak için mükemmel bir kitap Robert C. Martin (a.k.a Amca Bob) tarafından Clean Code olduğunu.

Benim kişisel tercihi sınıfı ve yöntemleri kendini açıklayıcı hem yapmaktır yani

Bu yaklaşımın
class ANewEventManager { 
    @Test 
    public void shouldAllowClassesToSubscribeToEvents() { 
     /* Test logic here */ 
    } 
} 

avantajlarından biri kodunu gezen önce başarısız olduğunun junit çıktı görmek kolaydır olmasıdır.

+1

şu anda temiz kod okuma kullanmaktan çekinmeyin olduğunu. Ünite Testi ve test entegrasyonunu gerçekten vurgulayan Roy Ohserov'un Ünite Testi'ni bitirdi. – HDave

32

Javadoc'u testlerimde çok kullanıyorum. Ancak, kendi etiketinizi javadoc'unuza eklediğinizde yalnızca yararlı olur.

Buradaki temel amaç, projenize katkıda bulunan diğer geliştiriciler için testin anlaşılabilir olmasını yapacaktır. Ve bunun için gerçek javadoc'u oluşturmaya bile gerek yok.

/** 
* Create a valid account. 
* @result Account will be persisted without any errors, 
*   and Account.getId() will no longer be <code>null</code> 
*/ 
@Test 
public void createValidAccount() { 
    accountService.create(account); 
    assertNotNull(account.getId()); 
} 

Sonraki biz yeni bir etiket ekledi maven bizim Javadoc eklentisi bildirmek gerekir.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.8</version> 
      <configuration> 
       <tags> 
        <tag> 
         <name>result</name> 
         <placement>a</placement> 
         <head>Test assertion :</head> 
        </tag> 
       </tags> 
      </configuration>    
     </plugin>  
    </plugins>   
</build> 

Şimdi yapacağımız tek şey, maven eklentimizi aramak.

javadoc:test-javadoc (or javadoc:test-aggregate for multi-module projects) 

Bu oldukça kolay bir örnektir, ama daha karmaşık testler çalıştırırken, sadece kendi kendini açıklayıcı yöntem adını kullanarak testler tarif etmek mümkün değildir.

+3

Örneğinizin çıktısı ne olurdu? – jgomo3

0

Ayrıca UT'deki yorumları da severim, kullanım durumunu saniyeler içinde anlamaya yardımcı olur.

Herhangi bir raporun stacktrace'inde açıklamaları içermek için küçük bir kitaplık oluşturdum, raporları kontrol eden herkes sorunu kolayca çözebilir.

kütüphane adı frutilla, bu https://github.com/ignaciotcrespo/frutilla