2015-11-27 53 views
2

我需要在功能文件中表示JSON對象。我可以使用json文件來獲取代碼。但是這意味着我無法傳遞特性文件中的值。如何在黃瓜功能文件中表示嵌套的json對象

Scenario: Test

Given a condition is met

Then the following json response is sent | json | | {"dddd":"dddd","ggggg":"ggggg"}|

上述工作的正常JSON。但是,如果有嵌套的對象等,然後像上面這樣在單行中寫入json會使該功能非常難以閱讀並且難以修復。

請讓我知道。

回答

1

您可以使用一個字符串來做到這一點,它使json更清晰。

Then the following json response is sent 
    """ 
    { 
     'dddd': 'dddd', 
     'ggggg': 'ggggg', 
     'somethingelse': { 
     'thing': 'thingvalue', 
     'thing2': 'thing2value' 
     } 
    } 
    """ 

在代碼中,你可以直接使用它:

Then(/^the following json response is sent$/) do |message| 
    expect(rest_stub.body).to eq(message) 
end 

或類似的東西。

+0

不錯,謝謝!看起來像這將解決我的問題。 – trial999

+0

但是如果我想驗證json與其他參數一起,例如: 然後將以下響應發送到 |用戶| json | | user1 | {「user1」:{「dddd」:「dddd」,「ggggg」:「ggggg」}} | | user2 | {「user2」:{「dddd」:「dddd」,「ggggg」:「ggggg」}} | – rideronthestorm

+0

這是一個不同的問題。這些都是簡單的問題,可以通過搜索輕鬆找到。當我搜索谷歌「黃瓜json」時,我在頂部看到了3個很好的答案 –