Swing Griffon集成测试或显示Griffon视图的脚本

Swing Griffon集成测试或显示Griffon视图的脚本,swing,groovy,griffon,swingbuilder,Swing,Groovy,Griffon,Swingbuilder,当我创建诸如对话框等平面java Swing组件时,很容易进行单元测试来显示对话框。基本上,我可以创建一个对话框实例并调用setIsVisible(true)。我真的很难弄清楚如何用狮鹫的视角来做这件事。我一直试图通过集成测试来实现这一点,但我似乎无法实现 我尝试了一些东西来展示这一观点,但似乎没有任何效果。我似乎能够获得视图实例的唯一方法是: AirplaneView view=helper.newInstance(应用程序grifonpractice.AirplaneView.class,“

当我创建诸如对话框等平面java Swing组件时,很容易进行单元测试来显示对话框。基本上,我可以创建一个对话框实例并调用setIsVisible(true)。我真的很难弄清楚如何用狮鹫的视角来做这件事。我一直试图通过集成测试来实现这一点,但我似乎无法实现

我尝试了一些东西来展示这一观点,但似乎没有任何效果。我似乎能够获得视图实例的唯一方法是:
AirplaneView view=helper.newInstance(应用程序grifonpractice.AirplaneView.class,“飞机”)

在这之后,我想我可以做一个
view.setIsVisible(true)或view.frame.setIsVisible(true)
,但运气不好。我猜我的想法是错误的,必须有一个相当简单的方法来做到这一点。感谢您的帮助。我的观点如下所示,注意没有绑定,所以我不需要模仿任何东西

package griffonpractice
import javax.swing.JFrame

JFrame frame = application(title: 'GriffonPractice',
  size: [320,480],
  pack: true,
  location: [50,50],
  locationByPlatform:true){
    borderLayout()
    {
        hbox(constraints: BL.NORTH)
        {
            label(text: "shane")
            label(text: "Jack");
        }
    }
}

你试过使用FEST吗

《Griffon in Action》一书中有一个关于使用FEST测试Griffon应用程序的详细示例,源代码可在

下面是一个简单应用程序的3个测试的简短示例

package dictionary

import org.fest.swing.fixture.*
import griffon.fest.FestSwingTestCase

class DictionaryTests extends FestSwingTestCase {
    void testInitialState() {
        window.button('search').requireDisabled()
    }

    void testWordIsFound() {
        window.with {
            textBox('word').enterText('griffon')
            button('search').click()
            textBox('result')
                .requireText('griffon: Grails inspired desktop application development platform.')
        }
    }

    void testWordIsNotFound() {
        window.with {
            textBox('word').enterText('spock')
            button('search').click()
            textBox('result')
                .requireText("spock: Word doesn't exist in dictionary")
        }
    }

    protected void onTearDown() {
        app.models.dictionary.with {
            word = ""
            result = ""
        }
    }
}

谢谢你的投入,我会看一看fest,让你知道它是如何进行的。