2012-12-05 108 views
2

我正在尋找一個用於爲我們的Java Swing GUI編寫回歸測試的好工具。我發現jemmy2,我對此非常滿意。如何撰寫Jemmy單元測試?

雖然有一點小缺點:正如jemmy的例子所示,我必須寫下每個測試類作爲org.netbeans.jemmy.Scenario:測試代碼轉到public int runIt()方法。我更喜歡使用通常的when-then-then結構和有意義的斷言進行更多的常規單元測試。我真的很想把jemmy和junit或testng這樣的單元測試框架結合起來。

所以,問題:我該怎麼做?我知道這是可能的,因爲JellyTools做到了 - 以NetBeans特定的方式。

另外,如何從我的jemmy場景中獲得有意義的錯誤報告?

回答

3

Jemmy可以用於任何測試工具,如JUnit,TestNG,你有什麼。

你不需要做任何特別的事情 - 只需從測試方法中直接使用Jemmy API即可。使用JUnit和TestNG,您還可以獲得很好的@Before來運行測試的應用程序。

修羅

1

同時,我才知道,那是相當容易:

@Test 
public void testSomething() throws Exception { 
      //GIVEN 
     ClassReference cr = new ClassReference("components.TableFilterDemo"); 
    cr.startApplication(); 
    frame = new JFrameOperator("TableFilterDemo"); 

      //WHEN 
      //doing more steps 

      //THEN 
      //do TestNG assertions 
} 

最大的區別是,這樣的測試可以拋出Jemmy相關的異常。但是,它們是有意義的測試信息,所以沒關係。

1

至於「有意義的錯誤報告」 ......

一個體面的測試工具將創建一個報告,稱該試驗失敗。

如果你想知道更多的錯誤,你可以從過度的Jemmy日誌中得到它。您將不得不提供自己的日誌記錄以在應用程序級別獲取一些有意義的跟蹤。

修羅