سؤال

وأنا أحاول أن إنشاء وتشغيل JUnitStory بسيطة لتشغيل ملف .story.

ولدي هذا:

class Scenario1 extends JUnitStory {
    @Delegate MySteps steps = new MySteps()

    @Override
    public Configuration configuration() {
        return new MostUsefulConfiguration()
                .useStoryLoader(new LoadFromRelativeFile(new File('src/test/groovy').toURL()))
                .useStoryReporterBuilder(
                new StoryReporterBuilder()
                        .withDefaultFormats()
                        .withFormats(Format.HTML, Format.CONSOLE, Format.TXT)

        );
    }

    @Override
    public List candidateSteps() {
        final candidateSteps = new InstanceStepsFactory(configuration(), this).createCandidateSteps()
        return candidateSteps;
    }
}

مع أو بدون مندوب (نسخ ولصق في كل الطرق مشروحة MySteps)، كلما أركض JBehave، وأحصل على الإخراج التالي:

somePattern(){
  // PENDING
}

وانها مثل القصص الفردية لا تلتقط الخطوات.

وعندما خلق "قصص" الطبقة وسحب جميع الملفات القصة في مع storyPaths، يتم تحديد الخطوات الفردية. باستخدام المصحح، وأرى أن candidateSteps هو التعرض للضرب، ولكنها ليست في سحب البيانات التي يحتاج إليها.

وماذا يمكن ربما أن يحدث هنا؟

هل كانت مفيدة؟

المحلول 4

وJBehave هو القديمة والتكنولوجيا المتخلفة. لا يستخدمونه.

نصائح أخرى

وأنت لست بحاجة إلى تفويض إلى خطوات. وأيضا يجب أن لا تجاوز candidateSteps، ولكن stepsFactory إلى حد ما. في الإصدارات الأحدث من JBehave، تم إهمال candidateSteps، لجعل هذا التفضيل للأسلوب مصنع أكثر وضوحا (<لأ href = "http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/ConfigurableEmbedder. أتش تي أم أل # candidateSteps "يختلط =" نوفولو "> http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/ConfigurableEmbedder.html#candidateSteps ())

وانظر هذا بلوق، حيث شرحت كيفية عمل هذا التكوين JBehave الأساسية في مزيد من التفاصيل:

http://blog.codecentric.de/en/2012 / 06 / jbehave التكوين البرنامج التعليمي /

وأندرياس

وهنا هو الجواب أصدقائك: وقد غيرت حزمة من شكل.

وهذا هو متوقف استيراد ساكنة org.jbehave.core.reporters.StoryReporterBuilder.Format.HTML؛

وهذا هو واحد جديد :) استيراد ساكنة org.jbehave.core.reporters.Format.HTML؛

واستغرق بعض الوقت للعثور على الجواب، ولكن كانت مخبأة على وثائق jbehave

ونأمل أن يساعد! هتاف!

ويجب أن لا تحتاج إلى استخدامDelegate - JUnitStory الخاص بك ليست الطبقة خطوات الخاص بك. يمكنك محاولة تمرير في الخطوات التي لديك هذا؟

وعند تمرير في فئة التي تم التلاعب بايت كود لفئات خطوات، JBehave قد لا ترى شروح jbehave بعد الآن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top