2012-12-05 45 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日志中得到它。您将不得不提供自己的日志记录以在应用程序级别获取一些有意义的跟踪。

修罗