我有一个测试有时会在requireSelected()
电话上失败,我无法弄清楚原因。
public void testSimple() {
JRadioButtonFixture fixture = getFixture();
fixture.check();
fixture.requireSelected().requireVisible();
}
我尝试将代码更改为在EDT上而不是在测试的main中运行,但是看起来没有任何fixture的方法可以从EDT中调用。
为什么这个测试失败了?
更新:更多详情:
setUp()
中没有任何内容。
这是失败追踪:
Java.lang.AssertionError: [javax.swing.JRadioButton[name='button', text='text', selected=false, enabled=true, visible=true, showing=true] - property:'selected'] expected:<true> but was:<false>
at org.fest.assertions.Fail.fail(Fail.java:87)
at org.fest.assertions.Fail.failIfNotEqual(Fail.java:60)
at org.fest.assertions.BooleanAssert.isEqualTo(BooleanAssert.java:129)
at org.fest.swing.driver.AbstractButtonDriver.assertThatButtonIsSelected(AbstractButtonDriver.java:142)
at org.fest.swing.driver.AbstractButtonDriver.requireSelected(AbstractButtonDriver.java:127)
at org.fest.swing.fixture.JRadioButtonFixture.requireSelected(JRadioButtonFixture.java:288)
答案 0 :(得分:1)
麦克,
我最近在与FEST前体Abbot一起测试,
并且有些失败以与你相同的方式出现。
在我的例子中,在之间添加一个Thread.sleep(300)
模拟radio.check()
和验证者
radio.requireSelected()
解决了这个问题。
试一试。
答案 1 :(得分:0)
您需要指定测试失败的方式,并显示setUp()方法。它基本上可以包含您提供的信息。