Grails集成测试无法识别控制器保存方法

时间:2015-02-01 22:48:03

标签: grails testing

我最近将项目从2.2升级到2.4.4,并通过替换

升级了集成测试
IntegrationTest extends GroovyTestCase 

@TestMixin(IntegrationTestMixin) 

我的控制器有保存方法,例如:

class IssueController {

    def save() { 
        ...
        if (!issueService.save(issue)) { 
            render(view: "create", model: [issueInstance: issue]) 
            return 
        } 
    }

和集成测试(在测试/集成中):

@Before 
void setUp() { 
    ic = new IssueController() 
} 

@Test 
void testValidSave() { 

    ic.params.issueNo = "test" 

    ic.save() 
        assert ic.flash.successAlert ==  "Saved issue test" 
        assert ic.response.redirectUrl == '/issue/list' 
    }

但我的Integrations测试时,调用ic.save()时不要调用控制器保存方法(因此失败)。如果我将save()方法重命名为saveIt(),并调用ic.saveIt(),一切正常

但我不想重命名所有控制器方法名称。

1 个答案:

答案 0 :(得分:3)

在测试用例中无需删除allowedMethods或无需更改为GET

ic.request.method = "POST"如果允许的方法发布。