用java测试REST服务

用java测试REST服务,java,web-services,rest,testing,tdd,Java,Web Services,Rest,Testing,Tdd,事情是这样的。 我正在使用一个REST服务,它应该经过测试,但我无法访问代码 我已经用java制作了一些库,这样我就可以与该服务交互,但我需要对我的库进行单元测试,实际上它还没有实现,我正在使用TDD,这样我就可以确定它是否有效 我如何才能做到这一点,使我不会弄乱我不想创建或删除任何内容的服务? 我应该使用一些模拟或存根吗?如果是,如何做到 谢谢 您可以使用模拟框架,我喜欢模拟您的API端点库。然后,您可以使用传统的junit测试来确保您的库正在进行预期的API调用 如果您想实际进行HTTP调用

事情是这样的。 我正在使用一个REST服务,它应该经过测试,但我无法访问代码

我已经用java制作了一些库,这样我就可以与该服务交互,但我需要对我的库进行单元测试,实际上它还没有实现,我正在使用TDD,这样我就可以确定它是否有效

我如何才能做到这一点,使我不会弄乱我不想创建或删除任何内容的服务? 我应该使用一些模拟或存根吗?如果是,如何做到


谢谢

您可以使用模拟框架,我喜欢模拟您的API端点库。然后,您可以使用传统的junit测试来确保您的库正在进行预期的API调用


如果您想实际进行HTTP调用,那么已经建议使用Jersey client的其他库很少。

您可以使用模拟框架,我喜欢模拟您的API端点库。然后,您可以使用传统的junit测试来确保您的库正在进行预期的API调用

如果您想实际进行HTTP调用,那么已经建议使用Jersey客户端的其他库很少。

如果您使用Jersey编写代码,我将使用来测试。它的背景是灰色的

您可以使用HttpUnit的伪服务器来创建假响应

或者,您可以使用生成对正在运行的服务的post和get请求。

我使用来测试-如果您使用Jersey编写了代码。它的背景是灰色的

您可以使用HttpUnit的伪服务器来创建假响应



或者您可以使用生成对正在运行的服务的post和get请求。

我的组织使用spring生成我们的模拟rest服务。效果很好。但是,如果您还没有使用spring,我建议Jmock、mockito或easy mock来伪造响应。

我的组织使用spring来生成我们的模拟rest服务。效果很好。但是,如果您还没有使用spring,我建议使用Jmock、mockito或easy mock来伪造响应。

是您想要找到的东西吗?

是您想要找到的东西吗?

我不喜欢使用mock的想法,因为它忽略了HTTP内容。最好是使用类似的模拟服务器。这是一个有点棘手的第一,但一旦你有了你的测试用例并运行它是一件轻而易举的事。我使用随机端口启动模拟服务器,这样就可以并行运行测试

我不喜欢使用mock,因为它忽略了HTTP内容。最好是使用类似的模拟服务器。这是一个有点棘手的第一,但一旦你有了你的测试用例并运行它是一件轻而易举的事。我使用随机端口启动模拟服务器,这样就可以并行运行测试

您是在寻找用Java编写的代码来访问您的服务,还是在寻找一种方法来实现这一点?哈哈,事实上,您需要在构建代码后进行测试,这意味着您没有进行TDD@blo0p3r,我希望看到一种方法。@Will,正如我所说的,库仍然没有实现。我将使用TDD,但我需要知道如何在没有实际交互的情况下测试服务呼叫。我道歉!为您添加了一个答案,而不是油嘴滑舌。您是在寻找Java代码来访问您的服务,还是在寻找一种方法来实现这一点?哈哈,事实上,您需要在构建代码后进行测试,这意味着您没有做TDD@blo0p3r,我希望看到一种方法。@Will,正如我所说的,库仍然没有实现。我将使用TDD,但我需要知道如何在没有实际交互的情况下测试服务呼叫。我道歉!为您添加了一个答案,而不是油嘴滑舌。Jersey听起来不错,但我正在将整个应用程序调整为Jersey。。。我认为它不适合这个项目。httpClient实际上会发出请求,这正是我需要避免的。谢谢回复!Jersey听起来不错,但我正在将整个应用程序调整为Jersey。。。我认为它不适合这个项目。httpClient实际上会发出请求,这正是我需要避免的。谢谢回复!我想这是我一直在寻找的东西:一种模拟端点的方法。如前所述,我认为我没有使用Http调用。。。太多了!你知道我怎样才能实现我的目标吗?我甚至不知道从哪里开始><我不知道如何模拟端点…模拟进行HTTP调用的Java函数,并在模拟中返回一些硬编码的现有值。这足以模拟HTTP API。现在像平常一样测试你的程序。我想这是我一直在寻找的东西:一种模拟端点的方法。如前所述,我认为我没有使用Http调用。。。太多了!你知道我怎样才能实现我的目标吗?我甚至不知道从哪里开始><我不知道如何模拟端点…模拟进行HTTP调用的Java函数,并在模拟中返回一些硬编码的现有值。这足以模拟HTTP API。现在像平常一样测试你的程序。