当我创建plane java Swing组件时,例如对话框等,很容易进行单元测试来显示对话框。基本上,我只需创建对话框的一个实例并调用setIsVisible(true)。我真的很难弄清楚如何在griffon View中做到这一点。我一直试图通过集成测试来做到这一点,但我似乎无法做到这一点。
我尝试了一些方法来显示视图,但似乎都不起作用。我似乎能够获得视图实例的唯一方法是:AirplaneView view = helper.newInstance(app, griffonpractice.AirplaneView.class, "Airplane")
在这之后,我想我也许可以做一个view.setIsVisible(true) or 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");
}
}
}发布于 2010-10-13 06:41:45
你试过用FEST吗?http://easytesting.org
Griffon in Action一书中有一个使用FEST测试Griffon应用程序的详细示例,源代码可以在http://code.google.com/p/griffoninaction/source/browse/trunk/chap09/dictionary上找到
下面是一个简单应用程序的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 = ""
}
}
}https://stackoverflow.com/questions/3911327
复制相似问题