2017-07-13 6 views
0

私はいくつかのURLでリストの文字列を持っている:多くのGETリクエスト - JAVA

  • localhost:80/my/first/url
  • localhost:80/my/second/url

2、5以上のURLが存在することができます。私は各URLの書き込みテストをたくないエラー500

@Test() //bad test 
public void checkErrorStatusForURLs() { 
    for(String url : urlList()) { 
     given().when().get(url) 
       .then().statusCode(CoreMatchers.not(500)); 
    } 
} 

を私に応じるADRESたのかを確認してください。私は1つのテストでそれをすることはできますか?どのように正しく行うには?

+0

[異なる入力データ用のJavaユニットテスト](https://stackoverflow.com/questions/10028188/java-unit-test-for-diの可能性のある重複fferent-input-data) – Berger

答えて

0

はJUnitの4のパラメータ化テストを見てみましょう:https://github.com/junit-team/junit4/wiki/parameterized-tests

何かをこの線に沿っかもしれませんあなたのための仕事:

@RunWith(Parameterized.class) 
public class FibonacciTest { 

@Parameters 
public static Iterable<? extends Object> urls() { 
    return Arrays.asList("localhost:80/my/first/url", "localhost:80/my/second/url"); 
} 

@Parameter 
public /* NOT private */ String url; 

@Test 
public void checkErrorStatusForURLs() { 
     given().when().get(url) 
       .then().statusCode(CoreMatchers.not(500)); 
... 
} 
} 
+0

これは4.12バージョンのjunitに取り組んでいます、ありがとうございます! :) – Tom

0

あなたはからstatusCodeを抽出して、あなたがこのように何をしたいエヴェーレ状態をチェックすることができます:ここで説明したよう

for(String url : urlList()) { 
    int statusCode = given().when().get(url).then().extract().statusCode(); 
    if(500 == statusCode) { 
     //add it to a list?? 
    } 
} 
関連する問題