Dan,
This is what I used:
public void setUp() throws Exception {
EJB3StandaloneBootstrap.boot(null);
deployer = new EJB3StandaloneDeployer();
deployer.getDeployDirs().add(makeURLForDir("target/test-classes"));
deployer.getDeployDirs().add(makeURLForDir("target/classes"));
deployer.create();
deployer.start();
initialContext = new InitialContext();
}
private URL makeURLForDir(String dir) throws MalformedURLException,
IOException {
return new URL("file:///" + new File(dir).getCanonicalPath());
}
Unfortunately, I can't remember why I coded it this way - just that it
worked on what ever version of the microcontainer was available in December.
:-)
Chris
--
Enterprise POJO consulting - http://www.chrisrichardson.net
Author, POJOs in Action - http://www.manning.com/crichardson
Enterprise POJOs blog - http://chris-richardson.blog-city.com
On 3/28/06, Dan Greening <[EMAIL PROTECTED]> wrote:
>
> For what it's worth, I changed the configuration a bit, just in case
> Surefire's alteration of the java.class.path was relevant. This code
> provides explicit paths to the EJB3 deployer, for the configuration
> files and for the location of the EJBs.
>
> Change EmbeddedEjb3TestCase.startupEmbeddedJboss to be this:
>
> public static void startupEmbeddedJboss()
> {
> EJB3StandaloneBootstrap.boot("target/test-classes");
> EJB3StandaloneBootstrap.scanClasspath("target/classes");
> }
>
> It actually CRASHES surefire, I think because of a null pointer
> exception in EJB3StandaloneBootstrap.boot. But still runs fine in
> eclipse. Don't know what the problem is, but it seems like a bug in
> Surefire.
>
> I updated SUREFIRE-38 to document this.
>
> By the way, thank you to Chris Richardson and Carlos Sanchez for
> their interest in this problem. I think it is well worthwhile to
> make sure Surefire works properly with EJB3 embeddable testing. Once
> EJB3 is finalized, people are going to be using embeddable containers
> for unit testing, because it is awesome.
>
> If I am unable to get this to work, is there an alternate tester I
> could use that works like the old Maven 1 junit tester? It is, I
> believe, the only hurdle remaining for me to migrate to Maven 2.
>
> Dan R. Greening, Ph.D., CEO BigTribe Corporation, http://
> dan.greening.name/contact.htm
>
>
> On Mar 28, 2006, at 8:08 AM, Dan Greening wrote:
>
> > I appreciate that many people tried to help out with suggestions,
> > but none of them seemed to work.
> >
> > I have created a test case that shows how the JUnit test fails
> > under Surefire (with Maven 2.0.3), and succeeds in Eclipse using
> > Maven 2.0.3's eclipse:eclipse, both using the same pom.xml. The
> > test case and detailed instructions are attached to JIRA ticket
> > SUREFIRE-38. The problem may be related to the fact that Surefire
> > resets the java.class.path so EJB3 embeddable container cannot find
> > the annotations. I may test this hypothesis today.
> >
> > I have spent many days on this problem, mainly because I want to
> > convert our EJB3 application from Maven 1.0.2 to Maven 2. I also
> > contributed a fix to the Maven 2 ejb plugin, which is required to
> > build EJB3 components. Sure could use some help on this.
> >
> > Dan R. Greening, Ph.D., CEO BigTribe Corporation, http://
> > dan.greening.name/contact.htm
> >
> >
> > On Mar 19, 2006, at 11:16 AM, Dan Greening wrote:
> >
> >> I am pulling my hair out.
> >>
> >> If you have gotten maven2 surefire plugin (or anything else) to
> >> initiate a JBoss EJB3 embeddable container, I am desperate for
> >> your POM.
> >>
> >> I am trying very hard to get the JBoss EJB3 embeddable container
> >> to operate under the surefire-plugin, under the test phase. I
> >> cannot, for the life of me, get it to find the InitialContext.
> >> I've set the system properties properly, and I even have a
> >> duplicated it in jndi.properties. My configuration works under
> >> maven1, but not maven2.
> >>
> >> I think it could be caused by one of two things. Either
> >>
> >> a. The surefire plugin isolated classloader is making it
> >> impossible for the embeddable container to find the annotated
> >> classes.
> >>
> >> b. I have screwed up my POM somehow.
> >>
> >> If all you tell me is "yes, I have gotten the JBoss EJB3
> >> embeddable container to run and see my classes under surefire",
> >> you will have done me a favor, because that would indicate it is
> >> possible. However, it would be really nice if you would also send
> >> your POM so I could understand your configuration.
> >>
> >> Seriously, this has been driving me nuts for days, so I could
> >> really use the help.
> >>
> >> Dan R. Greening, Ph.D., CEO BigTribe Corporation, http://
> >> dan.greening.name/contact.htm
> >>
> >>
> >
>
>
>