SORU
17 EYLÜL 2008, ÇARŞAMBA


Ve jUnit 4 yürütme kanca Suite öncesi ve Sonrası.x

Kur ürününün entegrasyonu ve test kümesi için parçalara ayırma 4.4 jUnit testleri çalıştırmak için kullanmaya çalışıyorum. Öne çıkışın güvenilir bir şekilde çalıştırılması gerekiyor. Eğer başka sorunlar yaşıyorum, geri jUnit liman arıyorum. Tüm testleri tamamladıktan sonra herhangi bir testi önce yürütme için kullanılabilir ve ne hooks?

Not: maven kullanıyoruz 2 kurmak için. pre- & post-integration-test evreleri, fakat eğer bir test başarısız olursa, maven durur maven kullanarak denedim ve hiç yardımcı olan post-integration-test, çalışmaz.

CEVAP
7 EKİM 2008, Salı


Evet, mümkün güvenilir bir şekilde çalıştırmak, kurmak ve test suite tüm testler öncesinde ve sonrasında yöntemleri yıkmak için. Bana kod: göstermek istiyorum

package com.test;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses({Test1.class, Test2.class})
public class TestSuite {

    @BeforeClass
    public static void setUp() {
    	System.out.println("setting up");
    }

    @AfterClass
    public static void tearDown() {
    	System.out.println("tearing down");
    }

}

Test1 sınıf bir şey gibi görünecektir:

package com.test;

import org.junit.Test;


public class Test1 {
    @Test
    public void test1() {
    	System.out.println("test1");
    }

}

...ve Test2 benzer hayal edebilirsiniz. Eğer TestSuite çalıştırılmışsa, elde:

setting up
test1
test2
tearing down

Ayarlama/sadece ve tüm testlerden önce ve sonra çalıştırın sırasıyla yerle bir olduğunu görebilirsiniz.

Catch: bu sadece test paketi kullanıyorsanız çalışır ve tek tek JUnit testleri Test1 ve Test2 çalışmıyor. Maven kullanıyorsanız bahsettiğiniz ve maven surefire eklenti testleri ayrı ayrı ve bir paketinin bir parçası çalıştırmak için seviyor. Bu durumda, her test sınıfını genişleten bir sınıf oluşturma tavsiye ederim. Üst sonra @BeforeClass açıklamalı ve @AfterClass yöntemleri içerir. Yukarıdaki yöntem kadar temiz olmasa da, sizin için işe yarar bence.

Başarısız testleri ile sorun, maven ayarlayabilirsiniz.test.hata.başarısız testler devam ediyor kurmak o kadar görmezden. Bu devam eden bir uygulama olarak tavsiye edilmez, ama tüm testler kadar işleyen geçmeniz gerekir. Daha fazla ayrıntı için maven surefire documentation bkz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • macpulenta

    macpulenta

    9 EYLÜL 2006