以下のようなソケット通信を行うメソッドをテストしたいと考えています。
java
1public byte[] callSocketHogeServer(byte[] reqData){ 2 try( 3 Socket socket = new Socket("hoge",1000); 4 OutoutStream out = socket.getOutputStream(); 5 InputStream in = socket.getInputStream();){ 6 socket.setSoTimeout(3000); 7 out.write(reqData,0,reqData.length); 8 out.flush(); 9 10 // InputStreamからの読み込み 11 12 return resData; 13 14 } catch (IOException e){ 15 // 例外処理 16 } 17}
テスト観点としては、
・ソケット通信先から正常なデータ付きのレスポンスが返却されたときに正常処理かどうか確認する
・ソケット通信先が応答しない場合、タイムアウトにする
といったテストを行いたいです。
Rest通信にはMockRestServiceServer
のようなモックサーバを作成するものが存在するのは知っているので、Socket通信についても同様にこのリクエストにはこう返すと設定できれば簡単にテストできると考えたのですが、その様なクラスはJunitにありますでしょうか?
回答1件
あなたの回答
tips
プレビュー