On 23/03/2011, at 7:40 PM, Jeppe Nejsum Madsen wrote: > Adam Murdoch <[email protected]> writes: > >> On 22/03/2011, at 7:24 AM, Jeppe Nejsum Madsen wrote: >> >>> On Mon, Mar 21, 2011 at 6:39 PM, Peter Niederwieser >> <[email protected]> wrote: >>>> >>>> Jeppe Nejsum Madsen wrote: >>>>> >>>>> I just upgraded from 0.9.2 to 1.0-M1 and now the test results seem >> to get >>>>> the package name wrong. >>>>> >>>> >>>> Where do you see wrong package names? In the new HTML test report? >>> >>> Yes. All tests seems to be placed in the "default-package" package. >>> Maybe it's related to the somewhat weird classnames on the testcase >>> (which I don't understand either, I don't have any classes with >> these >>> names) >>> >>> It looked like 0.9.2 used the name of the testsuite to group the >>> tests whereas 1.0-M1 uses the classname? >> >> 1.0-m1 uses the classname of the test, as reported by the test >> runner. This ends up in the 'classname' attribute. 0.9.2 uses the name >> of the class that was passed to junit to execute. This ends up in the >> testsuite' attribute. In theory, the 1.0-m1 behaviour is the more >> accurate one, though it does depend on the test runner reporting the >> correct class names, which seems not to be the case here. >> >> Which test framework are you using to run these tests? > > I'm using the specs framework http://code.google.com/p/specs/ with the > JUnit support. I'm able to run the tests fine in IntelliJ using it's > JUnit support.
Looks like specs uses the hash of the test instance as it's class name, except when running in intellij: http://code.google.com/p/specs/source/browse/trunk/src/main/scala/org/specs/runner/JUnitSuiteRunner.scala#102 Hence, it works fine in intellij, and not gradle. They probably should always use the actual class name, and let the reporting worry about duplicates. -- Adam Murdoch Gradle Developer http://www.gradle.org Co-Founder and VP of Engineering, Gradleware Inc. - Gradle Training, Support, Consulting http://www.gradleware.com
