2016-05-18 15 views
0

Javaテストでキュウリを使用すると、入力としてJSON文字列に問題があるようです。キュウリはJavaでJSON文字列を分割しています

Scenario Outline: not work 
Given anythin 
When I use <body> as body to call <url> 
Then I'll get a status code of <status> 

Examples: 
| body | url    | status  | 
| {"id":5}| /rest/update/0 | 404   | 

とエラーが表示さ:

You can implement missing steps with the snippets below: 

@When("^I use {\"([^\"]*)\":(\\d+)} as body to call \"([^\"]*)\"$") 
public void i_use_as_body_to_call(String arg1, int arg2, String arg3) throws Throwable { 
// Write code here that turns the phrase above into concrete actions 
throw new PendingException(); 

}

をしかし、実際には、全体のJSON文字列を分割してはなりません。

答えて

0

私はそれがあまりにも面倒だと思うので私はステップ定義に直接jsonを入れません。試してくださいthese examples

Given I have a web service 
    And I have "PUT" service for "/test" 
    And I am a rest client 
    When I "PUT" to the web service with the following 
    """ 
    {"Question": "What is the meaning of life?"} 
    """ 
    Then I receive the expected message 

私はどんなシナリオアウトラインを使用しませんでしたが、私はあなたがそれを行うことができると思います。とにかく、それは読んで非常に乱雑になる可能性があります。また、私は通常、それらをきれいに保つために、すべてのシナリオのアウトラインを引用符で囲みます。もう一つは、jsonメッセージをステップ定義の中で分割し、ステップ正規表現では直接分割しません。

+0

お返事ありがとうございます、Dave。それは実際に動作します。しかし、それはステップ正規表現でjson文字列を決して置くべきではないということですか?そのような定義を中国語や日本語などの他の言語で書くのは難しいです。あなたはその事件について何か提案していますか? –

+0

私はしません。あなたのjsonが{"id":5}のような超シンプルなら、それは好きかもしれません。そして、私は ""をid "5"と呼んでjsonメッセージに入れて送信します。それは複雑すぎるもののためにあまりにも難しいです。それはあなたの生産性を遅くするので、それは価値がない。 –

関連する問題