使用二进制数据对java servlet进行单元测试

使用二进制数据对java servlet进行单元测试,java,unit-testing,servlets,jetty,binary-data,Java,Unit Testing,Servlets,Jetty,Binary Data,我试图编写一个JavaServlet单元测试,向Servlet发送二进制数据http请求并接收二进制响应。通常我使用jetty ServletTester和HttpTester对servlet进行单元测试,但HttpTester似乎还不支持二进制请求 您知道如何在java中对二进制servlet进行单元测试吗?似乎是在HttpTester中以二进制格式存储内容 您可以扩展HttpTester并手动设置_genContent(它受保护)。或者您可以使用与HttpTester中相同的方法将字节解释为

我试图编写一个JavaServlet单元测试,向Servlet发送二进制数据http请求并接收二进制响应。通常我使用jetty ServletTester和HttpTester对servlet进行单元测试,但HttpTester似乎还不支持二进制请求

您知道如何在java中对二进制servlet进行单元测试吗?

似乎是在HttpTester中以二进制格式存储内容


您可以扩展HttpTester并手动设置_genContent(它受保护)。或者您可以使用与HttpTester中相同的方法将字节解释为字符串。

这是一个有趣的想法,但我很难实现它。我使用它的方式是使用HttpTester.generate()来生成发送到ServletTester.getResponses()的请求字符串。我的问题是generate()返回一个字符串,我需要它返回一个ByteArrayBuffer(在getResponses()中使用)。如果我也想重写generate()函数,我会遇到问题,因为它使用了HttpTester私有字段。有什么想法吗?@eldadlevy很难理解你的问题出在哪里。你能在你的问题中分享代码的例子吗?无法理解在传递到Servlet之前无法使用创建ByteArrayBuffer的原因。最终可以使用HttpTester完成此操作:1。已创建派生类BinaryHttpTester 2。在这个类中有两个方法-*setContent(byte[])-这个函数存储byte[]供以后使用*ByteArrayBuffer generateBinary()-如果设置了,这个函数使用上面的byte[],super.generate()附加它们以创建一个连接的byte[]该类的客户端首先设置二进制内容,然后使用generateBinary()获取二进制请求。适用于我您是否可以在Jetty实例中部署servlet并通过套接字发送/接收数据?