首页 / JAVA / java – 单元测试Web服务调用
java – 单元测试Web服务调用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 单元测试Web服务调用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1648字,纯文字阅读大概需要3分钟。
内容图文
![java – 单元测试Web服务调用](/upload/InfoBanner/zyjiaocheng/776/a36d0947a8314dabb2b49dbc166e8554.jpg)
我正在开发一个Java项目,它被分成一个Web项目和一个后端项目.网络通过Web服务调用与后端进行通信.
Web项目中有一个类可以进行所有Web服务调用,我想在这个类中添加测试.我想进行单元测试,而不是功能测试,所以我不想让Web服务实际运行来运行测试.如果这个类只是将调用传递给后端,我可能会愿意忽略测试它,但是此时有缓存发生,所以我想测试它是否正常工作.
当生成Web服务jax-ws wsgen时,它会创建一个前端使用的接口.我使用这个生成的接口来创建一个假对象进行测试.这非常有效,但这种方法存在问题.
我目前是我团队中唯一一个正在进行单元测试的人,所以我是唯一一个维护测试代码的人.我希望能够在构建其余代码时构建测试代码,但是如果其他人在其中一个Web服务类中引入了新方法,那么接口将在其上使用新方法,并且我的假对象不会实现它,因此会被破坏.
Web和后端代码项目彼此不相关,我不想在它们之间引入依赖关系.因此,在Web服务端点上引入一个接口似乎不合理,因为如果我把它放在后端,我的Web代码需要引用它,如果我把它放在前端,我的后端代码需要引用它.我也无法扩展端点,因为这也会在项目之间引入依赖关系.
我不熟悉Web服务的工作方式,以及如何为Web项目生成类以便能够引用它们.所以,我不知道如何在后端创建一个可供我在Web项目中使用的界面.
所以,我的问题是,如何在不引入项目依赖项的情况下(在Eclipse构建路径中)将接口提供给我的前端项目?或者,是否有另一种更好的方法来伪造我正在调用的后端Web服务?
解决方法:
首先,我将缓存代码分解为一个不直接依赖于Web服务调用的可测试单元.
至于Web服务,我发现运行Web服务的功能测试和模拟Web服务的其他测试都很有用.功能测试可以帮助您找到您的模拟可能遗漏的边缘情况.
例如,我正在使用Axis2并从WSDL生成存根.对于模拟,我只是实现或扩展生成的存根.在我们的例子中,真正的Web服务由外部组织实现.通过探索性功能测试探索他们的Web服务已经揭示了一些需要处理的异常,仅通过检查生成的存根就不明显了.我使用这些信息来更好地模拟这些边缘情况.
内容总结
以上是互联网集市为您收集整理的java – 单元测试Web服务调用全部内容,希望文章能够帮你解决java – 单元测试Web服务调用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。