如何在 Grails 集成测试中制作两个内容不同的帖子

2024-02-28

我正在测试一个控制器,我无法发表两个内容不同的帖子。 下面是一个示例,其中我使用一些数据(post1,使用 json1)执行到 cardController 的发布。然后,我使用不同的数据执行另一篇文章(post2 和 json2)。但我无法成功发布第二篇文章,因为我已经看到(调试应用程序),请求中的 json 又是 json1,而不是 josn2。那么,如何在同一个测试中发布两个不同的帖子呢?

void testSomething(){

    def json1 = [number: "345678000000007", exp_month: 5, exp_year: 2012] as JSON
    def strJson1 = json1 as String

    cardController.request.contentType = "text/json"
    cardController.request.content = strJson1.getBytes()
    def post1 = cardController.post()

    def json2 = [number: "345678000000009", exp_month: 5, exp_year: 2013] as JSON
    def strJson2 = json2 as String

    cardController.request.contentType = "text/json"
    cardController.request.content = strJson2.getBytes()
    def post2 = cardController.post()
}

谢谢,我可以使用reset()、removeAllParameters() 和clearAttributes()。 下面是示例:

void testSomething(){

    def json1 = [number: "345678000000007", exp_month: 5, exp_year: 2012] as JSON
    def strJson1 = json1 as String

    cardController.request.contentType = "text/json"
    cardController.request.content = strJson1.getBytes()
    def post1 = cardController.post()


    cardController.response.reset()    
    cardController.request.reset()
    cardController.request.removeAllParameters()
    cardController.request.clearAttributes()

    def json2 = [number: "345678000000009", exp_month: 5, exp_year: 2013] as JSON
    def strJson2 = json2 as String

    cardController.request.contentType = "text/json"
    cardController.request.content = strJson2.getBytes()
    def post2 = cardController.post()
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Grails 集成测试中制作两个内容不同的帖子 的相关文章

随机推荐