Jenkins Tutorials
For a list of all jenkins related tutorials see Jenkins Tutorials Overview.
Source code for this tutorial is available on github as a single zip archive, as a Team Project Set or you can browse the files online.
Step 1: Wrinting a simple test case
Jenkins tests can be written as JUnit tests. The test instance needed for execution tests can be created using a JUnit Rule.
Create a new JUnit Test Case com.codeandme.jenkins.builder.HelloBuilderTest in the src/test/java folder:
public class HelloBuilderTest { @Rule public JenkinsRule fJenkinsInstance = new JenkinsRule(); @Test public void successfulBuild() throws Exception { HelloBuilder builder = new HelloBuilder(false, "JUnit test run"); FreeStyleProject job = fJenkinsInstance.createFreeStyleProject(); job.getBuildersList().add(builder); FreeStyleBuild build = fJenkinsInstance.buildAndAssertSuccess(job); fJenkinsInstance.assertLogContains("JUnit test run", build); } }In line 4 we create a test instance for our unit test. This instance is used from line 10 onwards to create and run our test job. The instance provides a set of assertion commands which we use to check the build result and the log output of the job execution.
You can run these tests as JUnit tests right from Eclipse or you can execute them via maven by running
mvn test
Step 2: A test expecting an execution fail
We use the same approach as before. To check for a failed build we need to run the build job a little bit different:
@Test public void failedBuild() throws Exception { HelloBuilder builder = new HelloBuilder(true, "JUnit test fail"); FreeStyleProject job = fJenkinsInstance.createFreeStyleProject(); job.getBuildersList().add(builder); QueueTaskFuture<FreeStyleBuild> buildResult = job.scheduleBuild2(0); fJenkinsInstance.assertBuildStatus(Result.FAILURE, buildResult); fJenkinsInstance.assertLogContains("JUnit test fail", buildResult.get()); }
No comments:
Post a Comment