0

テストで「ジョン」という名前のリクエストを投稿すると、応答としていくつかの結果が得られます。

<links>
<a href="http://test.com/1" id="7875a7a1" title="doctor">John Smith</a>
<a href="http://test.com/2" id="a3e51e21">John Doe</a>
....
</links>

私の目標は、彼のIDを知っている正しいジョンを見つけ、属性「タイトル」が存在するかどうかを調べることです。単純な given-when-then 構文でこれを達成するにはどうすればよいでしょうか? 目的のアイテムがどのノードにあるかわからないとします。

理論的には、すべてのノードのリストを取得して、for ループで 1 つずつチェックすることはできますが、それは見苦しく聞こえます...

4

1 に答える 1

1

タイトルが医師であることを確認するには、次のようにします。

String id = "7875a7a1";
given().
       ...          
when().
       post("/x").
then().
       body("links.a.find { it.@id == '%s'}.@title", withArgs(id), equalTo("doctor"));

そして、このように title 属性が存在するかどうかを確認します:

String id = "7875a7a1";
given().
       ...          
when().
       post("/x").
then().
       body("links.a.find { it.@id == '%s'}.attributes().any { it.key == 'title' }", withArgs(id), is(true));
于 2014-02-10T07:56:32.063 に答える