Java 使用jUnit测试Spring Restful web服务

Java 使用jUnit测试Spring Restful web服务,java,spring,spring-mvc,junit,Java,Spring,Spring Mvc,Junit,我是春天的新手,对许多新术语感到不知所措。我试图完成的是在junit测试中,我想测试json形式的get方法的结果,并将其与预期结果进行比较。这可能吗?如果是这样,怎么做?您有两个选择: 对控制器进行单元测试。这并不像听起来那么有用,因为在rest控制器方法中应该有最少的代码(通常只是验证),在服务中应该有最少的逻辑 集成测试您的端点。这涉及到启动一个完整的spring应用程序,并在数据库中具有f.e.测试数据的同时针对端点运行测试。您可以在集成前测试中从maven内部启动应用程序,并在集成后测

我是春天的新手,对许多新术语感到不知所措。我试图完成的是在junit测试中,我想测试json形式的get方法的结果,并将其与预期结果进行比较。这可能吗?如果是这样,怎么做?

您有两个选择:

  • 对控制器进行单元测试。这并不像听起来那么有用,因为在rest控制器方法中应该有最少的代码(通常只是验证),在服务中应该有最少的逻辑
  • 集成测试您的端点。这涉及到启动一个完整的spring应用程序,并在数据库中具有f.e.测试数据的同时针对端点运行测试。您可以在集成前测试中从maven内部启动应用程序,并在集成后测试中停止应用程序

  • 是否要测试REST控制器方法?然后我会说你应该使用集成测试,而不是单元测试。是的,一个rest控制器。我指定了j单元,因为它是我所知道的唯一测试工具。是否有针对Spring的集成测试工具?另外,同时进行集成和单元测试不是一个好主意吗?您不需要对REST控制器进行单元测试,只需要对其进行集成测试。请尝试Mockito JUnit Runner进行测试。你会在网上找到很多例子,这很有趣。有专门针对Spring的工具吗?或者有其他第三方工具吗?我觉得有趣的是,任何非Spring的东西都是“第三方”:-D。现在,你可以使用maven插件设置所有东西,一个很好的起点是哈哈,是的,我可能用词错了。这个工具与SoapUI和spring的测试框架相比如何?好吧,我们使用它在合并功能分支时自动运行所有测试——单元测试和集成测试。它是maven,因此它与现有的工作流很好地集成,而且它不是一个工具,而是一种可以用来调整工作流的工具。