私はグリフォンと遊んでいます。テストを除いてすべてが非常にスムーズに動作します。easybでGriffonアプリケーションを効率的にテストするにはどうすればよいですか?
グリフォンアプリケーション全体を開始することなく別のコントローラメソッドをテストするのが好きです。これを行うには、私は コントローラに使用されているビューとモデルを模擬しなければならないと思う。 Expandoオブジェクトの模擬を のために、コントローラメソッドのテストとeasybを使ったアクションが長くなりすぎています。ここ
簡単な例である:
MyProjectView.groovy
application(title: 'MyProject',
pack: true,
locationByPlatform: true,
iconImage: imageIcon('/griffon-icon-48x48.png').image,
iconImages: [imageIcon('/griffon-icon-48x48.png').image,
imageIcon('/griffon-icon-32x32.png').image,
imageIcon('/griffon-icon-16x16.png').image]
) {
tableLayout {
tr {
td(align: "CENTER") {
textField(id: 'textfield',
text: "Hello")
}
}
tr {
td(align: "CENTER") {
button(text: "check",
actionPerformed: controller.checkForGreeting
)
}
}
}
}
MyProjectController.groovy
class MyProjectController {
def model
def view
void mvcGroupInit(Map args) {
}
def checkForGreeting = { evt = null ->
return view.textfield.text == "Hello"
}
MyProjectModel.groovy
class MyProjectModel {}
easyb試験:MyProje ctStory.story
scenario "Hello Check", {
def view
MyProjectController controller = new MyProjectController()
given "A view with 'Hello' in the textfield", {
view = new Expando()
def textfield = new Expando()
textfield.text = "Hello"
view.textfield = textfield
controller.view = view
}
then "checkForGreeting should return true", {
controller.checkForGreeting().shouldBe(true)
}
}
グリフォンコントローラメソッドをテストする簡単な方法はありますか?おそらく によって、ビューを嘲笑するためのより良いソリューションを使用して?