Usaría el método @BeforeClass
en su clase JUnit para tomar la última versión de su servidor y arrancarlo (eligiendo un puerto apropiado, etc.). De manera similar, @AfterClass
se podría usar para apagar el servidor mediante programación. Hacer esto automáticamente es importante ya que de lo contrario tendrá que recordar tener la última versión de su servidor funcionando continuamente.
Supongo que las pruebas no cambian ningún dato en el servidor. Si lo hacen, entonces probablemente deberías usar @Before
y @After
, pero ten en cuenta que esto hará que el servidor se inicie/se detenga para cada prueba y que las pruebas tarden un tiempo irrazonablemente largo.
Una vez que tenga ese marco en su lugar, escribir la prueba en sí debería ser simple.
También podría escribir esto como una prueba de unidad "correcta" al asegurarse de que su API RESTful esté expuesta como una simple API de Java, aislada de la capa de red. Esto sería mucho más rápido de ejecutar y (con suerte, si su capa de red es lo suficientemente delgada) recoger muchos de los mismos errores posibles.
para ser aún más selectivo: el OP ciertamente no mencionó que lo que quería hacer era una * "prueba de unidad" *. Acaba de mencionar JUnit, que puede usarse tanto para pruebas unitarias como para otro tipo de pruebas :) – SyntaxT3rr0r
Buen punto, me he deshecho de eso –