如何在控制器中模拟 public 方法
How to mock public methods inside controller
我有一个控制器,它有很多动作。在动作内部,它正在调用位于同一 class 中的其他方法。我怎样才能以 return 我想要的方式模拟这些方法。
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() 这样它应该 return 我定义的东西。
预先感谢您的帮助!!
自己回答
controller.metaClass.method1(){
//define whatever require
// some codes
}
controller.metaClass.method2(){
// define whatever require
// some code
}
以上代码运行良好
感谢您的宝贵时间!!
我有一个控制器,它有很多动作。在动作内部,它正在调用位于同一 class 中的其他方法。我怎样才能以 return 我想要的方式模拟这些方法。
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() 这样它应该 return 我定义的东西。 预先感谢您的帮助!!
自己回答
controller.metaClass.method1(){
//define whatever require
// some codes
}
controller.metaClass.method2(){
// define whatever require
// some code
}
以上代码运行良好
感谢您的宝贵时间!!