首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FEST:断言JButton正在显示某个图标

FEST:断言JButton正在显示某个图标
EN

Stack Overflow用户
提问于 2011-05-30 23:05:55
回答 2查看 478关注 0票数 2

在我的FEST测试中,我试图断言,一个JButton有一个特定的ImageIcon。我在org.fest.swing.fixture.JButtonFixture上找不到对应的方法

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-07 15:37:50

您可以编写自己的ButtonFixture包装器,它为此提供了一种方法。

代码语言:javascript
复制
IconButtonFixture iconButtonFixture = new IconButtonFixture(buttonFixture.robot, buttonFixture.target);
iconButtonFixture.requireIcon(new ImageIcon( "file:/C:/Users/admin/workspace/Project/bin/image/icon.gif" ));

IconButtonFixture类:

代码语言:javascript
复制
import static org.fest.swing.edt.GuiActionRunner.execute;

public class IconButtonFixture extends JButtonFixture {

    private IconButtonDriver driver;

    public IconButtonFixture(Robot robot, JButton target) {
        super(robot, target);
        driver = new IconButtonDriver(robot);
      }

    public JButtonFixture requireIcon(Icon icon) {
        driver.requireIcon(target, icon);
        return this;
    }

    private class IconButtonDriver extends AbstractButtonDriver {
        public IconButtonDriver( Robot robot ) {
            super( robot );
        }
        public void requireIcon(final JButton button, Icon icon) {
            Icon buttonIcon = execute(new GuiQuery<Icon>() {
                protected Icon executeInEDT() {
                  return button.getIcon();
                }
              });
            if(!icon.toString().equals( buttonIcon.toString() )) {
                Assert.failNotEquals( "The Button has not the expected Icon.", icon, button.getIcon() );
            }

        }
    }
}
票数 3
EN

Stack Overflow用户

发布于 2011-06-07 14:10:30

那么使用target呢?

代码语言:javascript
复制
Assert.assertNotNull( jButtonFixture.target.getIcon() );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6177930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档