我在对控制器进行单元测试时遇到了问题。在尝试测试请求时,测试错误地指向了错误的方法。下面的例子,应该清楚地说明问题。
家长控制器
class ExampleParentController {
def someMethod = {
render "FALSE"
}
def someMethod(def object)
{
render "DEFINITELY FALSE"
}
}
儿童控制器
class ExampleChildController extends ExampleParentController {
def someMethod = {
render "TRUE"
}
}
测试类
class ExampleChildControllerTests extends ControllerUnitTestCase {
protected void setUp() {
super.setUp()
}
protected void tearDown() {
super.tearDown()
}
void testSomeMethod() {
controller.someMethod()
def result = controller.response.contentAsString
assertEquals ("TRUE", result)
}
}
我希望controller.someMethod()
呈现“TRUE”。这在应用程序运行时执行时非常有效,因为someMethod(def object)
未作为端点公开。有没有办法指定执行哪个方法?