我大约有100个JUnit测试,它们可以模拟客户端与服务器的套接字连接。他们看起来像这样:
@Test
public void testProtocolInACertainWay() throws Exception {
Socket socket = _socketFactory.createSocket(_host, _port); // SSLSocketFactory
// Send payload
DataOutputStream outputStream = new DataOutputStream(socket.getOutputStream());
outputStream.write(/* test-specific payload */);
outputStream.flush();
// Receive response
DataInputStream inputStream = new DataInputStream(socket.getInputStream());
socket.setSoTimeout(5000);
byte[] buffer = new byte[512];
int numBytesRead = inputStream.read(buffer);
buffer = ArrayUtils.subarray(buffer, 0, numBytesRead);
// Assert test-specific stuff on response
Assert.assertTrue(buffer[0] == (byte)1); // for example
/* At this point, depending on the test, we either repeat similar steps with different payloads or end the test */
}
现在,我希望能够从服务器一次运行150万次这些测试(或子集)。这意味着我想同时发出1.5M套接字写,读取所有写,并声明它们的响应。
有没有一种方法可以不必重写所有100个JUnit测试来做到这一点?(请说是,所以:))
谢谢!
经过大量研究,发现我真正想做的是使用Netty或vert.x。我将不得不重写所有测试以使用事件队列而不是阻塞I / O。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句