さまざまなWebサービスで一連のテストを実行するためのアプリケーションを開発しています。これらのWebサービスはjsonを消費および生成し、それぞれにjsonの要求と応答をモデル化するクラスがあります。例えば:
serviceXに対するjsonリクエストが次のような場合:
{
"name":"Alex",
"id":"123"
}
serviceXrequest
次のようなクラスがあります。
public class serviceXrequest {
String name;
String id;
//Constructor, getters/setters, etc
...
}
そのクラスのオブジェクトを開始点として、Webサービスで一連のテストを実行できます。アイデアは、これらのテストを可能な限り一般的にして、要求をモデル化するクラスと応答をモデル化するクラスを作成するだけで、任意のWebサービスで使用できるようにすることです。
そのため、これまでに開発されたすべてのテストメソッドはプレーンJavaオブジェクトで機能します。これは私が欲しいものの例です:
public class WebServiceTest {
String serviceURL;
String requestJson;
String requestClass;
String responseClass;
public WebServiceTest() {}
@Test
public static void Test1() { ... }
@Test
public static void Test2() { ... }
....
@Test
public static void TestN() { ... }
}
次に、別のクラスから、次のような操作を行ってこれらのテストを呼び出します。
public class LoginTest { //To test the login web service, for example
public static void main(String[] args) {
WebServiceTest loginTest = New WebServiceTest();
loginTest.setServiceURL("172.0.0.1/services/login");
loginTest.setRequestJson("{"user":"ale","pass":"1234"}");
...
loginTest.runTests();
}
}
それほど単純ではないことは知っていますが、そこにたどり着く方法について何かアイデアはありますか?前もって感謝します!!