A控制器包括两个主要部分:设计花样来测试RESTful服务
- 映射的URL
- 代码里面方法
当编写一个测试案例有两个部分进行测试。
- 测试的URL和映射
- 测试函数内部的代码映射
后,采用经典的测试情况下,使用HttpServletResponse的模拟等,采用RESTtemplates(而不是使用curl)是相当大的东西使用。
问题是:使用哪一个,如何使用它们,如何合并它们,是否需要在逻辑上区分两个测试部件?
什么样的模式用于测试RESTful服务。
A控制器包括两个主要部分:设计花样来测试RESTful服务
当编写一个测试案例有两个部分进行测试。
后,采用经典的测试情况下,使用HttpServletResponse的模拟等,采用RESTtemplates(而不是使用curl)是相当大的东西使用。
问题是:使用哪一个,如何使用它们,如何合并它们,是否需要在逻辑上区分两个测试部件?
什么样的模式用于测试RESTful服务。
首先:
所以,当我写的测试中,我试着写他们尽可能地简单,但也尝试测试我相信,我可以去错了每一件事情。
因此,例如,您的REST类型的服务:
当然也有可能是在逻辑许多错误,所以一个需要写很多他们的测试。但是这个测试可以直接调用该方法,并使其相对容易编写测试。通过一些HTTP调用来调用方法的更简单。
但是当然在HTTP调用中可能会出现错误,因此必须进行测试。但是因为我已经用我的正常单元测试测试了“代码”。我只需要很少那么难编写测试。这个测试更关注可以通过错误的映射或错误的服务来完成的错误。
所以在最后:使用所有类型的,你可以写测试(单元测试,嘲笑的东西,HttpUnit的测试,硒,...)。但首先想想你想测试的问题。并且选择那种可以编写和维护测试用例的测试。
顺便说一句@see RestFuse - JUnit扩展
感谢您的答案和投票了。当我编写测试代码时,是否应该将我在问题中解释的两种测试分开?我的意思是在不同的班级以不同的方式。我只是想要有一个好的设计模式。 – kamaci
@kamaci:是的,你应该在单独的类中做(也可以在不同的根源目录中)。不同类的原因是,这两种类型通常需要完全不同的测试设置和不同的测试运行器。不同根目录的原因是,这允许你(如果你使用eclipse)分别运行每种类型。这可能很重要,因为您通常只想在开发过程中运行快速测试(实际单元和模拟测试)。并且如果每件事都完成,只想运行所有测试(快速和慢速)一次。 – Ralph
谢谢,这对测试REST架构代码来说是一个很好的头脑。 – kamaci