[
http://jira.codehaus.org/browse/JBEHAVE-498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=265520#action_265520
]
Derek Clarkson commented on JBEHAVE-498:
----------------------------------------
Thanks for getting back to me so fast.
I've now tried:
this.withCodeLocation(CodeLocations.codeLocationFromPath("build/publish"));
this.withRelativeDirectory("story-reports");
Which almost works. It creates the files in build/story-reports. I don't know
why it's ignoring the publish directory.
Just done some experimenting. It seems that you have to put in one more
directory level than you want to use. ie. build/publish maps to build,
build/publish/x maps to build/publish
So there still appears to be a bug in that it is not correctly assembling the
output path from the code location.
Secondly I'd like to request that StoryReportBuilder.withCodeLocation(...) be
renamed to StoryReportBuilder.withReportLocation(...). Calling it
withCodeLocation is anything but intuitive and the whole reason I wasted
several hours trying to figure out how to do this before posting the bug
report. In addition, I don't see the need for a separation of the location and
relative directory. It just adds to the confusion.
> withRelativeDirectory appears to be broken
> ------------------------------------------
>
> Key: JBEHAVE-498
> URL: http://jira.codehaus.org/browse/JBEHAVE-498
> Project: JBehave
> Issue Type: Bug
> Components: Core
> Affects Versions: web-3.3
> Environment: Linux. Jdk6
> Reporter: Derek Clarkson
>
> I'm working in a non maven environment. I attempted to set the output
> directory for reports as follows
> public static class MyReportBuilder extends StoryReporterBuilder {
> public MyReportBuilder() {
> super();
> this.withRelativeDirectory("../build/publish/story-reports");
> this.withFormats(CONSOLE, HTML, XML);
> }
> }
> Upon running the JUnits I get the following:
> org.jbehave.core.reporters.FilePrintStreamFactory$PrintStreamCreationFailed:
> Failed to create print stream for file
> /home/derek/workspace/smsManagerGit/target/../build/publish/story-reports/BeforeStories.html
> at
> org.jbehave.core.reporters.FilePrintStreamFactory.createPrintStream(FilePrintStreamFactory.java:39)
> at
> org.jbehave.core.reporters.Format$4.createStoryReporter(Format.java:43)
> at
> org.jbehave.core.reporters.StoryReporterBuilder.reporterFor(StoryReporterBuilder.java:310)
> at
> org.jbehave.core.reporters.StoryReporterBuilder.build(StoryReporterBuilder.java:285)
> at
> org.jbehave.core.configuration.Configuration.storyReporter(Configuration.java:200)
> at
> org.jbehave.core.embedder.StoryRunner.runBeforeOrAfterStories(StoryRunner.java:58)
> at
> org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:209)
> at
> au.com.sensis.wireless.smsmanager.integration.bdd.stories.AnnotatedStoryEmbedder.run(AnnotatedStoryEmbedder.java:48)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:73)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:46)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41)
> at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
> at
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:220)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.io.FileNotFoundException:
> /home/derek/workspace/smsManagerGit/target/../build/publish/story-reports/BeforeStories.html
> (No such file or directory)
> at java.io.FileOutputStream.open(Native Method)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
> at
> org.jbehave.core.reporters.FilePrintStreamFactory$FilePrintStream.<init>(FilePrintStreamFactory.java:137)
> at
> org.jbehave.core.reporters.FilePrintStreamFactory.createPrintStream(FilePrintStreamFactory.java:37)
> ... 31 more
> Commenting out the withRelativeDirectory() method and everything works just
> fine.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email