I am working with the Spark web framework and creating a RESTful API. (http://sparkjava.com since there are multiple things out there named "Spark")
My employer's standards mandate that we write a series of unit tests that will be automatically run once a day to confirm that applications are still up.
Spark is easy to test myself using a tool like Postman but I have not found any good examples of JUnit
tests being written with Spark or even with HTTP Requests being made programmatically with it.
Has anyone done this before? Is it possible?
I had the same requirement that you and I found a way to make it work. I searched over Spark source code and I found two classes that are useful:
This is what I did: I created a junit test class that implements SparkApplication interface. In that interface I create and initialize the "controller" (a class of my application) in charge of answer http requests. In a method annotated with @BeforeClass I initialize the Jetty instance using a web.xml that refers to the junit test class as the SparkApplication and a SparkTestUtil
JUnit test class
src/test/webapp/WEB-INF/web.xml file
This can be improved, but it is a good starting point I think. Maybe some "spark-test" component could be created?
Hope this would be useful for you!