I added scenarioexcludes="**/*Steps.java" to circumvent this problem. Forgive me if this is in the doc, but what it is the difference between the scopes and why would you choose one over the other?
On Mon, Dec 21, 2009 at 7:43 PM, Christopher Gardner <[email protected]> wrote: > I failed to add the scope="test" attribute. Now, I'm getting this exception: > > The scenario 'hw.GreetingSteps' must be of type > 'org.jbehave.scenario.RunnableScenario' > > On Mon, Dec 21, 2009 at 7:38 PM, Christopher Gardner > <[email protected]> wrote: >> I tried the suggestion, but unfortunately I'm getting the same results. :( >> >> On Mon, Dec 21, 2009 at 6:15 PM, Mauro Talevi >> <[email protected]> wrote: >>> Hi Christopher, >>> >>> I suspect your problem stems from the fact you're trying to run scenario in >>> "test" scope. >>> >>> Instead of: >>> >>> <scenarioRunner scenarioIncludes="${test.java.dir}/**/*.java" >>> classLoaderInjected="false" /> >>> >>> it should probably be >>> >>> <scenarioRunner scenarioIncludes="**/*.java" scope="test" >>> testSourceDirectory="${test.java.dir}" classLoaderInjected="false" /> >>> >>> Let me know if this works. I'll update the documentation to clarify this >>> point (especially the testSourceDirectory param). >>> >>> Cheers >>> >>> Christopher Gardner wrote: >>>> >>>> I can run the following through the Eclipse JUnit support with no >>>> problems whatsoever: >>>> >>>> public class Greeting extends JUnitScenario { >>>> private static ScenarioNameResolver converter = >>>> new UnderscoredCamelCaseResolver(".scenario"); >>>> >>>> public Greeting() { >>>> super(new PropertyBasedConfiguration() { >>>> �...@override >>>> public ScenarioDefiner forDefiningScenarios() { >>>> return new ClasspathScenarioDefiner(converter, new >>>> PatternScenarioParser(this)); >>>> } >>>> >>>> �...@override >>>> public PendingErrorStrategy forPendingSteps() { >>>> return PendingErrorStrategy.FAILING; >>>> } >>>> }, new GreetingSteps()); >>>> } >>>> >>>> However, when I try to run it with the ant scenarioRunner, I receive >>>> "No scenarios to run." >>>> >>>> Here is my ant file, where "jbehave.files" referenced in the >>>> test.classpath points to all the JBehave jars. >>>> >>>> <?xml version="1.0" encoding="UTF-8"?> >>>> <project name="fsa-srv-specs" default="run-scenarios" basedir="."> >>>> >>>> <property name="build.common.dir" location="${basedir}/build-common" /> >>>> <!-- >>>> ===================================================================== >>>> Properties: Structure >>>> >>>> ===================================================================== --> >>>> <property name="test.dir" location="${basedir}/test" /> >>>> >>>> <!-- the Java Steps and Scenario file location --> >>>> <property name="test.java.dir" location="${test.dir}/java" /> >>>> >>>> <!-- the *.scenario file location with the same package structure as >>>> the corresponding Steps files --> >>>> <property name="scenarios.dir" location="${basedir}/scenarios" /> >>>> <property name="lib.dir" location="${basedir}/lib" /> >>>> <property name="build.dir" location="${basedir}/build" /> >>>> <property name="build.test.dir" location="${build.dir}/test" /> >>>> <property name="build.test.classes.dir" >>>> location="${build.test.dir}/classes" /> >>>> >>>> <import file="${build.common.dir}/dependencies.xml" /> >>>> <!-- >>>> ===================================================================== >>>> Classpaths >>>> >>>> ===================================================================== --> >>>> <path id="test.classpath"> >>>> <fileset refid="jbehave.files" /> <!-- imported through >>>> dependencies.xml --> >>>> <fileset dir="${lib.dir}" includes="**/*.jar" /> >>>> <pathelement location="${scenarios.dir}" /> >>>> <pathelement location="${build.test.classes.dir}" /> >>>> </path> >>>> >>>> <!-- >>>> ===================================================================== >>>> Targets: Build >>>> >>>> ===================================================================== --> >>>> <target name="init-test"> >>>> <mkdir dir="${build.test.classes.dir}" /> >>>> </target> >>>> >>>> <target name="compile-test" description="Compile the tests." >>>> depends="init-test"> >>>> <javac.local destdir="${build.test.classes.dir}" >>>> srcdir="${test.java.dir}"> >>>> <classpath refid="test.classpath" /> >>>> </javac.local> >>>> </target> >>>> >>>> <target name="run-scenarios" description="Run the behavioral tests." >>>> depends="compile-test"> >>>> <taskdef name="scenarioRunner" >>>> classname="org.jbehave.ant.ScenarioRunnerTask" >>>> classpathref="test.classpath" /> >>>> >>>> <scenarioRunner scenarioIncludes="${test.java.dir}/**/*.java" >>>> classLoaderInjected="false" /> >>>> </target> >>>> >>>> <target name="clean" description="Clean the build."> >>>> <delete dir="${build.dir}" /> >>>> </target> >>>> >>>> <!-- >>>> ===================================================================== >>>> Macros, Presets, and Typedefs >>>> >>>> ===================================================================== --> >>>> <presetdef name="javac.local"> >>>> <javac debug="true" /> >>>> </presetdef> >>>> </project> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe from this list, please visit: >>>> >>>> http://xircles.codehaus.org/manage_email >>>> >>>> >>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >>> >> > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
