Swing UI的单元测试框架

Ita*_*man 18 java swing unit-testing

测试UI很困难.您认为Swing最好的单元测试框架是什么?

Eug*_*kov 8

目前我认为最好的是FEST.

  • 它甚至押韵. (4认同)
  • FEST现在是AssertJ-Swing (3认同)

Alf*_*red 7

您认为Swing最好的单元测试框架是什么?

好问题.我无法帮助你.我可以向您指出有关我从Misko Hevery网站上读过的ui测试的文章

Misko Hevery的提示

  • 我想指出Google的测试大师Misko Hevery的网站.他谈了很多关于如何编写易于测试的代码.
  • 例如,在阅读他的优秀幻灯片"如何努力编写测试代码"时,他在幻灯片45/288中指出修复渲染错误的成本相对较低.我认为他是对的,你不应该关心你的UI有100%的代码覆盖率.
  • 他还提供了一些关于如何测试UI的好技巧.

    重要的是将图形UI与控制逻辑和数据分开.这可以通过标准模型视图控制器设计模式实现

ObjectMentor

这是一个关于测试的网站.我发现这篇来自Michael Featers的有趣文章解释了UI测试自动化工具是Snake Oil


tuc*_*uxi 5

我一直在JUnit上使用Jemmy.您可以在此处看到他们的示例测试用例操作的片段:

    new ClassReference("org.netbeans.jemmy.explorer.GUIBrowser")
        .startApplication();
    JFrameOperator mainFrame = new JFrameOperator("GUI Browser");

    new JButtonOperator(mainFrame, "Reload In").push();
    new JLabelOperator(mainFrame, "Reloaded");

    JTreeOperator tree = new JTreeOperator(mainFrame);

    //click in the middle of the tree
    tree.clickMouse();

    //collapse node     
    tree.collapsePath(tree.findPath("", "|"));

    //expand node       
    tree.expandPath(tree.findPath("", "|"));

    //select node
    tree.selectPath(tree.findPath("GUI Browser", "|"));

    JTextFieldOperator testField = new JTextFieldOperator(mainFrame);

    //type new value in the text field
    testField.clearText();
    testField.typeText("3");
Run Code Online (Sandbox Code Playgroud)