2015-08-28 23 views
5

Şu anda TDD kullanıyoruz ve Jbehave kullanarak BDD'ye geçmeyi planlıyoruz. Sadece bir google araması yaptım ve Jbehave ile testNG için herhangi bir site bulamadım. Jbehave resmi sitesine gittim ve jbehave kütüphanesini TestNg, Junit gibi herhangi bir ünite test aracıyla entegre etmenin mümkün olduğunu anladım. Ama aslında nasıl yapılacağını örnek kod bulamadım. Bazı uzmanlar aşağıdaki adımları bekliyorum:Jbehave'ı testNG ile entegre etmek mümkün mü?

  1. Jbehave + TestNG ile basit bir java dosyası nasıl oluşturulur.
  2. Ben Jbehave ile uygulanan sonra mümkün TestNG tüm özelliklerini kullanmak mı (gibi ek açıklamalar. BeforeClass, afterClass, BeforeSuite, AfterSuite)

    TestNG aracılığıyla Jbehave özelliği dosya/sınıfı nasıl çalıştırılır
  3. . xml dosyası.

  4. Jbehave'de özel sınama raporu nasıl entegre edilir?

gerçekten herhangi pratik bir örnek bekliyor veya kod çalışmıyorum. Sadece genel bakış yolculuğunu ve bu görevi gerçekleştirmek için bazı girdileri anlamak istiyorum.

Gerçekten yararlı bir kısmı varsa, bu bağlantıyı daha da netleştiren çok temel kod ve bağlantıyı paylaşır.

Özelliği dosyası:

Scenario: Check the google search engine 
Given : Open the google home page www.google.com 
When : Enter test automation in search box 
Then : Proper result should be displayed in results page 

Testi adım sınıf dosyası:

aşağıdakilerden

şimdiye kadar denedim

public class GoogleSearchEngine_Steps { 

    public static WebDriver driver; 

    @Given("Open the google home page $url") 
    public static void openUrl(String url) throws Exception { 
     try { 

      driver = new FirefoxDriver(); 
      driver.get(url); 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 

    @When("Enter $searchKeyword in search box") 
    public static void searchKeyword(String searchKeyword) throws Exception { 
     try { 

      driver.findElement(By.xpath(".//*[@id='gs_htif0']")).sendKeys(searchKeyword); 
      driver.findElement(By.xpath(".//*[@id='tsf']/input[1]")).click(); 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 

    @Then("Proper result should be displayed in results page") 
    public static void result() throws Exception { 
     try { 

      driver.quit(); 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 

    } 

Ama TestNG kullanarak bir test koşucu sınıf dosyası oluşturmak için sıkışmış. Nasıl başlayacağımı bilmiyorum. Yukarıdaki kodu çalıştıracak bir test runner sınıf dosyası oluşturmama yardımcı olabilir.

Bazı materyalleri okudum ama tüm bunları okumak için yeterli zamanım yok ve uygulamıyorum Bazıları bana yardım ederse çok minnettar olurlar. JBehave's FAQ itibaren

cevap

4
  1. : TestNG ile çalıştırmak için

Hızlı bir düzeltme TestNG @Test ek açıklamasıyla kök JUnitStory/Hikayeler sınıfta çalıştırma() yöntemini açıklama basitçe:

public class YourStory extends JUnitStory/Stories { 

    @org.testng.annotations.Test 
    public void run() throws Throwable { 
     super.run(); 
    } 
} 

Bunun hikayeleri çalıştırmanın yalnızca bir yolu olduğunu ve diğer Embedder tabanlı yöntemleri kullanıyorsanız, test notunu değiştirmeniz gerekeceğini unutmayın. buna karşılık sed.

Gömülü tabanlı yöntemler için here numaralı belgeler bulunmaktadır.

  1. Muhtemelen hikayeleri ve senaryolar yerine sınıfları ve süitler koşacağım olarak, JBehave's annotations yerine TestNG en kullanmak istiyorum. Gördüğünüz gibi, bir hikaye (birkaç senaryoya ait) bir test olarak ele alınır; bu, arka plan gibi şeyler hakkında düşünürseniz anlam ifade eder.

  2. TestNG bir hikayeyi tek bir sınama olarak ele aldığından beri, neden alınmayacağının hiçbir nedenini göremiyorum. Bir şans ver.

  3. Test raporları için, bkz. JBehave's documentation. Özel muhabirlerin enjeksiyonunu sağlar.

bütün bunları TDD uzak göç etmezler söyledikten sonra. İdeal olan, tüm sistemi çaprazlayan birkaç üst düzey senaryoya, bundan daha fazla entegrasyon testine ve mutlak bir birim testler tonuna sahip olmaktır.

Örneğin, doğrulamak için bir formunuz varsa, kullanıcının formu doldurmak için nasıl yönlendirildiğini gösteren birkaç örnek koyun. Doğrulama sınıfı için birim testleri oluşturarak geçerliliği geri kalanını kontrol edin. (Hala örnek olarak onları düşünmek ve sonra yaptıkları yorumlarda, ama JBehave kullanarak teknik izleyici ile testler için overkill zaman// Verilen koydu. Edebilirsiniz)

fazla bilgi için testing pyramid bakın ve testing ice-cream cone kaçının.

+0

@ Lunivore.- Girdiğiniz için teşekkürler. Bağlantıları kontrol edeyim. – SKumar

+0

Bana jbehave testi adımlarını çalıştırmak için kullanılan bazı örnek sınıfı dosyalarını verebilir misiniz? Soruyu, şimdiye kadar denediğim şeyle güncelledim. Bunu başarmama yardım edin. – SKumar

+0

Bu konuda bana yardımcı olabilir misiniz? – SKumar

İlgili konular