2016-08-02 4 views
1

RESETssuredのテスト(!)コードがあり、RESTエンドポイントがステータスコードとして0を返すことを確認します。RESTAssuredは2つの状態コードのうちの1つを受信します

 given() 
     .contentType(CONTENT_TYPE_APPLICATION_JSON) 
    .when() 
     .get(getRestOperationPath()) 
    .then() 
     .statusCode(STATUS_CODE_OK); 

しかし、これは有効な出力と見なされるコード404を供給することも可能です。私は状態コードが2つのうちの1つであることを確認するために私のテストが必要ですが、実際にそれを行う方法について私の頭を覆すことはできません。私はそれをどうやってできるのか、それが不可能なのかを教えてくれますか?

UPD:

に.get(getRestOperationPath())応答を返す - >あなたはステータスコードを取得し、それを比較することができます。閉まっている。

答えて

1

また、応答を別の変数に抽出することなく、Hamcrestマッチャーを使用してこれを行うこともできます。

あなたは正しい答えを得るために、質問を閉じるためにanyOf()の組み合わせと

import static org.hamcrest.Matchers.anyOf; 
import static org.hamcrest.Matchers.is; 

... 

given() 
    .contentType(CONTENT_TYPE_APPLICATION_JSON) 
.when() 
    .get(getRestOperationPath()) 
.then() 
    .statusCode(anyOf(is(STATUS_CODE_OK),is(STATUS_CODE_NOT_FOUND))); 
+0

is()をしていた使用することができます:Dが、私はhamcrestを使用することはできませんので、彼はどちらも同じようにしている私のバージョン – Sarief

+0

を残すことになります有効なオプション。ちょうど状況に応じて。このためにHamcrestを含める必要はありませんが、とにかくそれを含める場合は... – user3319803

1

.get(getRestOperationPath())は、Responseを返します。 .getStatusCode()と比較することができます。閉まっている。

質問を閉じるにはちょうど答えます。

関連する問題