2012-01-11 13 views
7

मैं एक .story फ़ाइल चलाने के लिए एक साधारण JUnitStory बनाने और चलाने की कोशिश कर रहा हूं।जेबीहेव - सभी चरणों लंबित चिह्नित हैं?

मैं इस है:

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 के साथ सभी कहानी फ़ाइलों को खींचता हूं, तो व्यक्तिगत चरणों को परिभाषित किया जाता है। एक डीबगर का उपयोग करके, मैं देखता हूं कि उम्मीदवारों को हिट किया जा रहा है, लेकिन यह उस डेटा में नहीं खींच रहा है जिसकी आवश्यकता है।

संभवतः यहां क्या हो सकता है?

+0

बस जांच कर रहा है, लेकिन MySteps आयात org.jbehave.core.annotations आयात करता है। *? –

उत्तर

-5

जेबीहेव पुरानी, ​​अविकसित तकनीक है। इसका इस्तेमाल न करें।

+0

कृपया बताएं कि आप ऐसा क्यों सोचते हैं? – endless

0

आपको @Delegate का उपयोग करने की आवश्यकता नहीं है - आपकी JUnitStory आपकी चरण कक्षा नहीं है। क्या आप उन चरणों में गुजरने का प्रयास कर सकते हैं जहां आपके पास यह है?

जब आप स्टेट कक्षाओं के लिए बाइटकोड छेड़छाड़ की गई कक्षा में जाते हैं, तो जेबीहेव अब जेबीहेव एनोटेशन नहीं देख सकता है।

2

आपको चरणों में प्रतिनिधिमंडल की आवश्यकता नहीं है। और आपको उम्मीदवारों को ओवरराइड नहीं करना चाहिए, बल्कि कदमों को फैक्ट्री करना चाहिए। JBehave के बाद के संस्करणों में, candidateSteps हटाई गई है, कारखाने विधि अधिक प्रमुख के लिए वरीयता बनाने के लिए (http://jbehave.org/reference/stable/javadoc/core/org/jbehave/core/ConfigurableEmbedder.html#candidateSteps())

इस ब्लॉग में, मैं जहां बताया कि कैसे बुनियादी JBehave विन्यास और अधिक विस्तार में काम करता है देखें:

http://blog.codecentric.de/en/2012/06/jbehave-configuration-tutorial/

एंड्रियास

1

यहाँ अपने जवाब साथी है: प्रारूप का पैकेज बदल गया है।

यह बहिष्कृत आयात स्थैतिक org.jbehave.core.reporters.StoryReporterBuilder.Format.HTML;

यह नया है :) आयात स्थिर org.jbehave.core.reporters.Format.HTML;

थोड़ी देर लिया जवाब खोजने के लिए, लेकिन jbehave प्रलेखन

आशा है कि यह मदद करता है पर छिपा हुआ था! चीयर्स!

संबंधित मुद्दे