Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/Swing FEST测试荒谬地失败了_Java_Swing_Failing Tests - Fatal编程技术网

Java/Swing FEST测试荒谬地失败了

Java/Swing FEST测试荒谬地失败了,java,swing,failing-tests,Java,Swing,Failing Tests,我有一个测试在调用requireSelected()时有时会失败,我不知道为什么 public void testSimple() { JRadioButtonFixture fixture = getFixture(); fixture.check(); fixture.requireSelected().requireVisible(); } 我尝试将代码更改为在EDT上运行,而不是在测试的主程序中运行,但似乎不允许从EDT调用任何fixture的方法 为什么这个测试失败了 更

我有一个测试在调用
requireSelected()
时有时会失败,我不知道为什么

public void testSimple() {
  JRadioButtonFixture fixture = getFixture();
  fixture.check();
  fixture.requireSelected().requireVisible();
}
我尝试将代码更改为在EDT上运行,而不是在测试的主程序中运行,但似乎不允许从EDT调用任何fixture的方法

为什么这个测试失败了

更新:更多详细信息:

设置()中没有任何内容

以下是故障跟踪:

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)
Java.lang.AssertionError:[javax.swing.JRadioButton[name='button',text='text',selected=false,enabled=true,visible=true,showing=true]-属性:'selected']应为:但为:
位于org.fest.assertions.Fail.Fail(Fail.java:87)
在org.fest.assertions.Fail.failIfNotEqual上(Fail.java:60)
在org.fest.assertions.BooleanAssert.isEqualTo(BooleanAssert.java:129)
位于org.fest.swing.driver.AbstractButtonDriver.assertThatButtonIsSelected(AbstractButtonDriver.java:142)
在org.fest.swing.driver.AbstractButtonDriver.requireSelected上(AbstractButtonDriver.java:127)
在org.fest.swing.fixture.JRadioButtonFixture.requireSelected上(JRadioButtonFixture.java:288)

您需要指定测试失败的方式,并可能显示setUp()方法。它基本上可以是你提供的任何信息。

迈克

我最近和阿博特一起测试,FEST的先驱, 有些失败也和你一样。 在我的例子中,添加一个线程。sleep(300)介于 模拟
无线电检查()
和验证器
radio.requireSelected()
解决了该问题


试试看。

Need…more…context…从堆栈跟踪中,我们看不到任何有趣的东西,除了您的单选按钮确实没有被选中(selected=false),因此requireSelected()失败是完全正常的!如果您还向我们展示了您的getFixture()方法,那可能会很有趣。
getFixture()
只是
新的jradiobuttonxture(dialogFixture.robot,“dialog7button12”)您不直接(不是通过FEST)在JUnit线程上修改JComponents,是吗?另外,当测试失败时,FEST会截图,也许你会看到一些东西…而不是Thread.sleep()尝试getRobot().waitForIdle(),它是一个FEST实用程序方法,将等待AWT事件队列清空后再继续。