如何使用 commons-fileupload 编写单元测试?
我正在使用 commons-fileupload 的框架中工作。
现在我需要编写单元测试类。我的疑问是如果 ServletFileUpload 不是一个接口,如何编写模拟测试?还有其他方法来测试我的课程吗?
昨天我使用mockito为Servlet Parts编写了单元测试,这很简单。但我不知道如何为 commons-fileupload 编写测试。
I'm working in a framework that uses commons-fileupload.
Now I need to write unit test classes. My doubt is how to write mock tests if ServletFileUpload is not an interface? There are another way to test my classes?
Yesterday I wrote unit tests using mockito for Servlet Parts, and it's easy. But I can't think how to write tests for commons-fileupload.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 Commons HTTPClient 构建多部分流:
You could use Commons HTTPClient to build the multipart stream:
您可以回到基础知识并通过包装或扩展和覆盖来手动滚动您的模拟对象。有时,不依赖模拟框架来完成所有事情会更容易。
模拟模拟和测试结果
You could go back to basics and hand roll your mock object by either wrapping or extending and overriding. Sometimes its easier to not depend on a mocking framework for everything.
Mocking Mocking and Testing Outcomes
我会考虑将您的 FileUpload 调用包装在另一层中。虽然这听起来有点矫枉过正,但它可以让您非常快速地切换上传库,并具有更好地对您的调用进行单元测试的附加功能...看起来您将您的应用程序与 commons-fileupload 紧密耦合...
I would consider wrapping your FileUpload calls in another layer. While it might sound like overkill, it would allow you to switch upload libraries very quickly with the added ability to better unit test your calls...It seems like you are tightly coupling your app to commons-fileupload...