首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试RESTful JSON服务

问测试RESTful JSON服务
EN

Stack Overflow用户
提问于 2011-08-17 13:30:50
回答 2查看 3.2K关注 0票数 6

我想测试我的安全the服务如下:

  • UrlMapping是正确的,那么下列服务是否可用?
  • 测试GET/POST/PUT/DELETE及其呈现的反馈和错误
  • 登录和未登录时的测试错误消息

有人能给我一些提示吗?我不知道如何访问grails安全服务,以及如何在登录和不登录时对我的控制器运行测试。此外,我需要一些模拟服务器或其他东西来测试我的控制器或?

对不起,我对这个话题非常陌生,但我想在失去对我的new服务的控制之前,朝着正确的方向前进。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-17 14:30:31

我们使用REST客户机插件和功能测试插件来测试我们的所有web服务。

例如..。

代码语言:javascript
复制
void testCreateTag() {
    def name = 'Test Name'
    def jsonText = """
         {
           "class":"Tag",
           "name":"${name}"
         }
      """

    post('/api/tag') {
      headers['x-user-external-id'] = securityUser.externalId
      headers['x-user-api-key'] = securityUser.apiKey
      headers['Content-type'] = 'application/json'
      body {
        jsonText
      }
    }

    def model = this.response.contentAsString
    def map = JSON.parse(model)

    assertNotNull(map.attributes.id)

    Tag.withNewSession {
      def tag = Tag.get(map.attributes.id)

      assertNotNull(tag)
      assertEquals(name, tag.name)
    }
}
票数 7
EN

Stack Overflow用户

发布于 2012-10-04 15:53:16

我有类似的代码,它使用内置的(groovy1.8) JsonSlurper,我认为它可能更可靠,只需要功能测试插件,而不需要REST客户端插件。

代码语言:javascript
复制
    String baseUrlString = 'http://localhost:8080/**YOURAPP**'

    baseURL = baseUrlString

    post('/j_spring_security_check?')

    assertStatus 200
    assertContentDoesNotContain('Access Denied')

    get("/*your test URL*/")

    def jsonObj = new JsonSlurper().parseText(this.response.contentAsString)
    assertEquals(jsonObj.your.object.model, **yourContent**)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7093696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档