SORU
4 ŞUBAT 2009, ÇARŞAMBA


En iyi Uygulama: kur JUnit sınıfı alanları Başlatılamadı() veya beyan?

Böyle beyannamesi, B) alanları başlatmak gerekir?

public class SomeTest extends TestCase
{
    private final List list = new ArrayList();

    public void testPopulateList()
    {
        // Add stuff to the list
        // Assert the list contains what I expect
    }
}

Ya da kur() bu gibi?

public class SomeTest extends TestCase
{
    private List list;

    @Override
    protected void setUp() throws Exception
    {
        super.setUp();
        this.list = new ArrayList();
    }

    public void testPopulateList()
    {
        // Add stuff to the list
        // Assert the list contains what I expect
    }
}

Daha kısa, ve bana son alanları kullanmak için izin verir, çünkü ilk form kullanmak eğilimindedir. Eğer don eğergerekkurulum() set-up için bir yöntem, hala kullanmalıyım ve neden?

Açıklama: JUnit test sınıfı bir kez test yöntemi başına başlatılamadı. list test başına bir kez açıklıyorum yerden bağımsız olarak oluşturulan anlamına gelir. Ayrıca bu testler arasında zamansal bağımlılıkları vardır, hayır demektir. Kur kullanmanın yararları vardır yok gibi görünüyor). Bir sebebi olmalı diye düşünüyorum. JUnit SSS kur boş bir koleksiyon başlatmak birçok örnek var ancak(),

CEVAP
8 ŞUBAT 2009, Pazar


Özellikle JUnit SSS, ** 5, bence en iyi uygulama gösterilen kapalı olmak gibi örneklerde merak ediyorsan o vartest edilen sınıfkurulum yöntemi (ya da bir test yöntemi) örneği olmalıdır.

JUnit örneklerden kurulum yöntemi bir ArrayList oluşturmak, hepsi bu ArrayList, testİndexOutOfBoundException, testEmptyCollection, ve bu gibi durumlarda davranışını test etmek için. Birisi bir sınıf yazmak ve emin yapıyor orada perspektifi doğru çalışır.

Test yönteminde kur veya nesne oluşturmak, böylece daha sonra kırarsan makul çıkış almak mümkün olacak. muhtemelen kendi sınıfları test ederken aynı şeyi yapmalı:

Diğer taraftan, eğer kullandığınız bir Java koleksiyon sınıfı (veya başka bir kütüphane sınıfı için önemli) test kodu, muhtemelen değil, çünkü istediğin için test--o kısmını test Fikstür. Bu durumda, güvenli bir şekilde beklendiği gibi çalışır, kabul edilebilir, bildiriminde başlatılıyor sorun olmaz.

Buna değer ne için, ben oldukça büyük, kaç yaşında, TDD-gelişmiş bir kod tabanı üzerinde çalışır. Biz alışkanlıkla test kodunu kendi tanımlamalar şeyler başlatmak ve bu yıl bu projede olduğum bir yarısında, hiç bir sorun yarattı. En azından makul bir şey yapmış olmak için bazı anekdot kanıtlar var.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Nesson

    Charles Ness

    27 NİSAN 2006
  • EmbarkToHeaven

    EmbarkToHeav

    3 EYLÜL 2007
  • Truc Minh

    Truc Minh

    23 Ocak 2011