繁体   English   中英

如何编写Jemmy单元测试?

[英]How to write Jemmy unit tests?

我正在寻找一个很好的工具来为Java Swing GUI编写回归测试。 我发现jemmy2 ,对此感到非常满意。

但是,这里有一个小缺点:如冗长的示例所示,我必须将每个测试类编写为org.netbeans.jemmy.Scenario :测试代码将传递给public int runIt()方法。 我更喜欢使用常规的按时间提供结构和有意义的断言进行更常规的单元测试。 我真的很想将jemmy与junit或testng之类的单元测试框架集成在一起。

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

另外,如何从繁忙的场景中获取有意义的错误报告?

Jemmy可以与任何测试工具(例如JUnit,TestNG)一起使用。

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

修罗

同时,我了解到这很容易:

@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相关的异常。 但是,它们是有意义的测试消息,因此可以。

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

良好的测试工具将创建一个报告,说明哪些测试失败。

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

修罗

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM