功能测试:通过Grails中的REST API上传文件

时间:2015-11-17 09:35:27

标签: rest grails file-upload

我正在使用Grails的功能测试插件为我的RESTful API项目准备功能测试用例。

在我的情况下,我无法使用适用于其他所有内容的技术上传文件。

class CreateFunctionalSpec{

final String CREATE_API = '/document-file'

def "Upload Document to temporary location"() {

  File nfile = new File('test/test-data/myfile.jpg')
  nfile.createNewFile()

   when:
   post("$RESTFUL_API_BASE_URL${CREATE_API}") {
       headers['Accept'] = 'application/json'
       headers['Authorization'] = authHeader()
       body{
            "file:nfile"    
       }
   }


   then:
        assert file
}}

我不确定如何在正文中放置文件,我尝试将其添加为参数,但没有任何作用。

1 个答案:

答案 0 :(得分:1)

此代码有效!!!

   def "Upload Document to temporary location"() {

    setup:
    def testDocument = new File('test/test-data/test-document.jpg')

    when:
    post("$RESTFUL_API_BASE_URL${BDM_CREATE_API}") {
        headers['Accept'] = 'application/json'
        headers['Authorization'] = authHeader()
        body{
            setProperty("file",testDocument)
        }
    }
    then:
    201 == response.status
    def jsonData = JSON.parse response.text
    jsonData["status"]=="Success"

}