【问题标题】:Restful web services unit testing/mocking in java 1.5 versionjava 1.5 版本中的 Restful Web 服务单元测试/模拟
【发布时间】:2014-10-28 09:08:04
【问题描述】:

我在 java 1.5 环境中托管了 java 代码,它就像一个客户端调用另一个第三方的 restful web 服务。现在我想在我的应用程序中编写单元测试用例来模拟第三方 RESTful Web 服务的行为。关于如何做到这一点的任何想法?

从互联网上,我可以看到很多可用的工具,但它们需要 java > 1.6 。例如:rest-assured、restito 等……

我对使用 java 1.5 有严格的限制,因为主类依赖于 1.5 版本。

我的编译/运行时版本只有 1.5

请分享你的想法

【问题讨论】:

    标签: java unit-testing rest mocking mockito


    【解决方案1】:

    您可以编写一个存根服务,客户端也可以调用它。 根据客户端/测试代码需要与存根进行多少交互来定义存根的接口,但在最简单的情况下,它只会返回给定输入集的预设响应。

    如果您可以控制存根的运行位置以及与您一起运行的运行时 不需要将自己限制在 java 1.5

    在部署到 Java 1.5 主机之前,您是否有任何理由无法在现代环境中运行测试以获得一般功能?

    我建议您的存根不必在 1.5 环境中运行,只需在您的客户端及其测试中运行即可。

    【讨论】:

    • 这个项目是使用 maven 构建的,src/target 为 jdk 1.5。使用这个项目构建的 jars 通过 ivy 导入另一个基于 ANT(更大)的项目,该项目仅限于 jvm 1.5。基本上我猜你是在要求我为第三方的 RESTful 服务编写存根并将它部署到某种 jdk > 1.5 的 j2ee 容器 - 对吗?对您的方法有什么建议吗?
    • 如果您可以将客户端指向 SoapUI,您应该可以将其用作存根,但这是一条更加手动的路线。您可以使用 Spark(Java 服务器)或 Jetty 之类的东西来托管存根。这真的取决于你在做什么样的测试。考虑到 1.6 现在几乎不受支持,限制为 1.5 似乎很奇怪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多