IIRC, you need to use a Junit TestRunner to run the test, so that Junit's test lifecycle is followed.
-- Dean On 1/15/13 11:22 AM, "jserup" <johs.se...@gmail.com> wrote: >I am creating a FreeStyleProject using this test class: > >import org.jvnet.hudson.test.HudsonTestCase; >import org.apache.commons.io.FileUtils; >import hudson.model.*; >import hudson.tasks.Shell; > >public class AppTest extends HudsonTestCase >{ > public void test1() throws Exception { > FreeStyleProject project = createFreeStyleProject(); > project.getBuildersList().add(new Shell("echo hello")); > > FreeStyleBuild build = project.scheduleBuild2(0).get(); > System.out.println(build.getDisplayName()+" completed"); > > // TODO: change this to use HtmlUnit > String s = FileUtils.readFileToString(build.getLogFile()); > assertTrue(s.contains("+ echo hello")); > } >} > >From: > >https://wiki.jenkins-ci.org/display/JENKINS/Unit+Test > >But is it only possible to create a FreeStyleProject (and other project >types) from a JUnit test? If I do: > >public class Main { > public void runit() throws Exception{ > AppTest at = new AppTest(); > at.test1(); > } > > public static void main(String[] args) throws Exception { > Main main = new Main(); > main.runit(); > } >} > > >I get: > >Exception in thread "main" java.lang.NullPointerException > at >org.jvnet.hudson.test.HudsonTestCase.createUniqueProjectName(HudsonTestCas >e.java:688) > at >org.jvnet.hudson.test.HudsonTestCase.createFreeStyleProject(HudsonTestCase >.java:652) > at com.build.jenkins.AppTest.test1(AppTest.java:10) > at com.build.jenkins.Main.runit(MMain.java:7) > at com.build.jenkins.Main.main(MMain.java:13) > >I have also looked at: hudson.triggers.TriggerStartTest which use: > > @Rule public JenkinsRule j = new JenkinsRule(); > >instead. But moving that outside a Junit test class gives an error similar >to the above. > > >Its seems that its only possible to create objects from hudson.model.* >inside JUnit test or am I missing an alternative approach? > >Here are the dependencies that I use: > > <dependency> > <groupId>org.jenkins-ci.main</groupId> > <artifactId>jenkins-core</artifactId> > <version>1.498</version> > </dependency> > > <dependency> > <groupId>org.jenkins-ci.main</groupId> > <artifactId>jenkins-test-harness</artifactId> > <version>1.498</version> > </dependency> > > <dependency> > <groupId>org.jenkins-ci.main</groupId> > <version>1.498</version> > <artifactId>jenkins-war</artifactId> > <type>war</type> > </dependency> > <dependency> > <groupId>org.jenkins-ci.main</groupId> > <version>1.498</version> > <artifactId>jenkins-war</artifactId> > <classifier>war-for-test</classifier> > </dependency> > >available from : > >http://repo.jenkins-ci.org/webapp/browserepo.html?6 > > > >-- >View this message in context: >http://jenkins.361315.n4.nabble.com/Creating-a-FreeStyleProject-outside-JU >nit-tp4651594.html >Sent from the Jenkins users mailing list archive at Nabble.com.