2

我正在寻找一个为我们的 Java Swing GUI 编写回归测试的好工具。我找到了jemmy2,我真的很满意。

但是有一个小缺点:正如 jemmy 示例所示,我必须将每个测试类编写为org.netbeans.jemmy.Scenario:测试代码转到public int runIt()方法。我更喜欢使用通常的 given-when-then 结构和有意义的断言进行更传统的单元测试。我真的很想将 jemmy 与 junit 或 testng 等单元测试框架集成。

所以,问题是:我该怎么做?我知道这是可能的,因为JellyTools以特定于 NetBeans 的方式做到了。

或者,如何从我的 jemmy 场景中获得有意义的错误报告?

4

3 回答 3

3

Jemmy 可以与任何测试工具一起使用,例如 JUnit、TestNG,你有什么。

你不需要做任何特别的事情——直接从测试方法中使用 Jemmy API。使用 JUnit 和 TestNG,您还可以使用 @Before 来运行经过测试的应用程序。

修罗

于 2013-04-23T11:12:30.290 回答
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 相关的异常。但是,它们是有意义的测试消息,所以没关系。

于 2012-12-14T09:37:01.457 回答
1

至于“有意义的错误报告”....

一个体面的测试工具将创建一份报告,说明哪些测试失败了。

如果您想了解更多问题所在,可以从过多的 Jemmy 日志中获取。您必须提供自己的日志记录才能在应用程序级别获得一些有意义的跟踪。

修罗

于 2013-04-23T11:16:52.167 回答