On Nov 22, 2007 2:12 AM, Dan Fabulich <[EMAIL PROTECTED]> wrote:
> Alexandru Popescu ☀ wrote:
>
> >> As I see it, here are the options:
> >>
> >> 1) Don't support mixing JUnit tests with TestNG tests in a single Surefire
> >> execution.  Clever users can, if they absolutely must, try to configure
> >> two executions of Surefire, one of which has junit=true, the other of
> >> which doesn't.  The advantage of this is that this is what the code
> >> already does.
> >>
> >> 2) Try to write the code to separate out the tests ourselves in Surefire.
> >> (This is high magic...  I don't think I want to do this.)
> >>
> >> Frankly, I don't like either of the options, but if I had to pick, I'd
> >> pick #1.
> >
> > Don't remember the specific code, but do you have access to the class
> > or is it just a string? Because if we have a class then we can test
> > for its JUnit inheritance to determine if it is or not JUnit.
> >
> > Otherwise, I think I would go with 1.
>
> Good suggestion, thanks.  I've written up some code on my machine that now
> knows how to run TestNG twice: once with all of the TestNG classes
> and then again with the JUnit classes (if any).
>
> However, this naturally creates some trouble, as running TestNG twice
> results in the testng-results.xml getting clobbered; only the second of
> the two runs appears in the final testng-results.xml.  (Both tests appear
> in Surefire's JUnit XML report, because Surefire generates that by
> attaching listeners and creating the XML by hand.)
>
> Right now Surefire is using the convenience helper in TestNG that allows
> you to pass the TestNG object an array of classes; this will automatically
> create an XmlSuite for those classes using the private
> createCommandLineSuites function.  That function is pretty complicated; it
> searches through the classes to see if they have an appropriate xmlSuite
> or xmlTest attribute and uses that if possible.  I'd like not to duplicate
> it in Surefire if I can avoid it.
>
> To get this to work, I think I'd need to be able to tell TestNG that I've
> got one suite with two arrays of classes.  The JUnit array of classes
> should be pretty simple (just junit=true, classes=blah) but the TestNG
> array of classes needs that fancy xmlSuite detection logic in TestNG.
>
> This code is already more complex than I'd like, and isn't really very
> general.  (What if the user has JUnit 4 + TestNG on the classpath?)  I'm
> therefore ever more strongly inclined to just rip out supporting mixed
> JUnit/TestNG.
>
> Thoughts?
>
> -Dan

I must confess that even if I am pretty familiar with TestNG code, it
is kind of difficult to comment on words only. So, frankly speaking I
would love to see some code and then discuss what's possible and what
not :-). If we cannot share the code though a normal SVN (maybe even
setup a Google project to allow us to finish it), then maybe you can
send something privately.

bests,

./alex
--
.w( the_mindstorm )p.

Reply via email to