API Testing in Continuous Integration
Using TestServer with Jenkins
The proces is pretty straight forward: build, run unit tests (if you have them), run integration tests (recipies) with TestServer.
TestServer works out-of-box with Jenkins, either through:
- Maven .pom files that define your testing logistics (as the following screenshots suggest), or
- Directly via shell commands as build post steps in a project
In either case, your CI server will be sending recipies (or SoapUI projects) to an instance of TestServer, which will handle the testing logistics.
See the Sample Project
Using TestServer with Atlassian Bamboo
Just like other CI workflows, once you have built your code and run unit tests on it, you stand it up and then run integration tests against it via TestServer. Nothing that a Bamboo novice can't do.
In Bamboo, you can define an Executable to a .sh script that wraps the commands to TestServer. A sample .sh script looks like this:
Then in your Project > Stages > Tasks, create a new task that uses your command and pass in both the recipie and the target API server host name.
Other Continuous Integration Systems
The above directions are applications of the same principal: use curl or equivalent HTTP runner to make requests to TestServer. If you feel uncomfortable about how to do this in your environment, contact us and we'll get you connected to someone who can help you.
Back To All Features