나는 그리폰과 놀고있다. 모든 것은 테스트를 제외하고는 매끄럽게 작동합니다.easyb로 Griffon 응용 프로그램을 효율적으로 테스트하려면 어떻게해야합니까?
저는 Griffon 어플리케이션 전체를 시작하지 않고 별도의 컨트롤러 메소드를 테스트하고 싶습니다. 이렇게하려면 컨트롤러에 사용되는 뷰와 모델을 조롱해야만하는 것 같습니다 ( ). Expando 객체를 조롱하는 때문에 컨트롤러 메소드 및 easyb을 사용한 작업에 대한 테스트가 너무 길어지고 있습니다.
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 시험
MyProjectView.groovy : 여기서
간단한 예이다 MyProje ctStory.storyscenario "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)
}
}
그리폰 컨트롤러 방법을 테스트하는 간단한 방법이 있습니까? 아마도 으로보기를 조롱하기위한 더 나은 솔루션을 사용하고 있을까요?