我在对控制器进行单元测试时遇到了问题。在尝试测试请求时,测试错误地指向错误的方法。下面的例子,应该清楚地说明问题。
父控制器
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)
它没有作为端点公开。有没有办法指定执行哪个方法?