如何模拟控制器内的公共方法

时间:2015-01-08 06:40:01

标签: unit-testing grails junit

我有一个控制器,它有很多动作。在操作中,它调用驻留在同一个类中的其他方法。我怎样才能以这样的方式模仿这些方法,以便它能够返回我想要的东西。

SomeController{

    def action1={

       method1() //i want to mock this method. this is not a service method

       }

    public def method1(){
        //some code here
       }


    def action2={

       method2() // i want to mock this method
     }

    public def method2(){

       //some code here
     }



}// SomeController

我想模拟method1()和method2()这样一种方式,它应该返回我定义的东西。 在此先感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

回答自己

 controller.metaClass.method1(){

  //define whatever require
  // some codes

 }

 controller.metaClass.method2(){

 // define whatever require
 // some code

 }

以上代码工作正常

感谢您的时间!!