(+ answer of Mauro in the loop : Standard approach is to have an impl that 
delegates to multiple other generators.)

Yes, your suggestion is easier but isn't the best as you know and I'm looking 
forward to not do that, if possible. Using Mauro's suggestion JBehave become 
more flexible to plug-in reports generators for many types of APIs. 

Would be nice something like the following code: 

  public void generateReportsView() {
        Set<StoryReporter> reports = configuration().storyReporterViews();
        for(StoryReporter report : reports ){
             report.generate(configuration()) 
        }
     }

What is the effort the implement this capability?

Cheers,
João M.

Date: Mon, 27 May 2013 10:12:19 -0300
From: cvgav...@gmail.com
To: dev@jbehave.codehaus.org
Subject: Re: [jbehave-dev] Submit reports to database


  
    
  
  
    João,

      

      Wouldn't be an easier option to create a maven plugin or an Ant
      Task that process the XML already generated by JBehave and do your
      database upload ?

      

      regards,

      

      Cristiano


      On 27/05/13 10:02, joao machado wrote:

    
    
      
      Still make sense in our use case having at least
        two generators, one to generate the HTML reports in CI (pipeline
        status) and one to upload the execution result to Rally for
        management purposes (current status of the sprint).

        

        Cheers.

        
          Date: Mon, 27 May 2013 11:43:44 +0200

          From: mauro.tal...@aquilonia.org

          To: dev@jbehave.codehaus.org

          Subject: Re: [jbehave-dev] Submit reports to database

          

          Yes, you're right the view
            generator assumes it being done to an output directory.  
            But you can simply ignore the directory if you're using the
            performable tree. 

            

            We can refactor the interface method in 4.x, moving the
            output dir to the view resources.

            

            On 27/05/2013 00:37, joao machado wrote:

          
          
            
            I misunderstand the purpose of the
              ViewGenerator interface. The main purpose of the interface
              is file-based reports and was I thinking of a more generic
              generator for reporting purposes (file-based, database,
              etc).

              

              I'll let you know the updates on this issue.

              

              
                Date: Sun, 26 May 2013 18:09:46
                +0200

                From: mauro.tal...@aquilonia.org

                To: dev@jbehave.codehaus.org

                Subject: Re: [jbehave-dev] Submit reports to database

                

                You can access the
                  PerformableRoot of the tree via
                  Embedder.storyManager().performableRoot(). 

                  

                  It will be generated during the generateReportsView()
                  method using the view generator configured via: 
                  Configuration.useViewGenerator(ViewGenerator). 

                  

                  So there only one view generator for given run.  Why
                  would you want two at the same time?  

                  

                  Cheers

                  

                  On 26/05/2013 16:48, joao machado wrote:

                
                
                  
                  Hi again,

                    

                    We already have jbehave-rally module but we need
                    something like PerformableTree to access Story
                    information and the ability to perform individual
                    stories concurrently is definitely plus.    

                    

                    Should I use this module in my overridden run()
                    after the execution of generateReportsView()?  

                    

                    I think it would nice add more than one view
                    generator to the Configuration, in order to perform
                    different kind of reporting strategies.

                     

                    Kind Regards.

                    

                    
                      Date: Sun, 26 May 2013
                      15:14:37 +0200

                      From: mauro.tal...@aquilonia.org

                      To: dev@jbehave.codehaus.org

                      Subject: Re: [jbehave-dev] Submit reports to
                      database

                      

                      Hi,

                        

                        if your need is to interface with Rally, I'd opt
                        to have a jbehave-rally module that deals with
                        all the specifics of rally, in particular the db
                        schema.   Then we can also add other elements of
                        this interaction as needed, e.g. a Rally specifc
                        configuration extension that makes it easy for
                        users to setup and use. 

                        

                        The execution results need to be read from files
                        in 3.x but in 4.x there is a new execution
                        context (called PerformableTree) that you can
                        use directly.     4.x is currently in beta.  

                        

                        Up to you where you want to start from ... 

                        

                        You can start cloning jbehave-core repo from
                        github and start developping this new module.  
                        We'll be happy to help you along. 

                        

                        Cheers

                        

                        On 26/05/2013 14:26, joao machado wrote:

                      
                      
                        
                        Hi Mauro and JBehave devs,

                          

                          first of all thank you for your prompt reply.
                          

                          

                          Your suggestion is really great for our
                          purpose because, as you write in the previous
                          e-mail, we want to submit stories execution
                          status to the Rally (rallydev.com) database
                          and also create the HTML reports in the
                          continuous integration filesystem. 

                          

                          The test case information result that is
                          currently being inserted is:

                          

                          Test Case ID: identifier (string) 

                          Method signature: ClassName.methodName
                          (string) 

                          Status: status (String) 

                          Exception Msg: optional (String) 

                          Defect ID: optional (String) 

                          Build No: 0.1-SNAPSHOT-number (String)

                          

                          It is possible to insert the Test result which
                          is a set of steps.

                          

                          How can I add a new ViewGenerator
                          implementation?

                          

                          Do I need to read the scenarios results from
                          file before database update or do I have
                          access to the execution context with all story
                          (scenarios) execution status? The second
                          option is better.

                          

                          I hope you can support us with this issue.

                          

                          Cheers.

                          

                          

                          
                            Date: Sat, 25 May
                            2013 21:42:32 +0200

                            From: mauro.tal...@aquilonia.org

                            To: dev@jbehave.codehaus.org

                            Subject: Re: [jbehave-dev] Submit reports to
                            database

                            

                            Hi,

                              

                              To plugin a different kind of report
                              generation, your main interface is
                              ViewGenerator, of which you can write a
                              database-centric implementation. 

                              

                              You can start from the template-based
                              implementation.   

                              

                              
https://github.com/jbehave/jbehave-core/blob/master/jbehave-core/src/main/java/org/jbehave/core/reporters/TemplateableViewGenerator.java

                              

                              Now this assumes that you just want to
                              store the final view reports in a db, but
                              you're still happy to have the single raw
                              story reports being written to filesystem.
                              

                              

                              Feel free to share your usecase.   Maybe
                              it's sufficiently generic that we may add
                              support for it. 

                              

                              Cheers

                              

                              On 25/05/2013 21:32, joao machado wrote:

                            
                            
                              
                              Hi all,

                                

                                I would like to know how to plug-in into
                                JBehave an module that submit
                                story/stories reports to the Database
                                after the report generation. 

                                

                                

                                Any suggestion?

                                

                                Thanks in advance.

                                

                              
                            
                            

                          
                        
                      
                      

                    
                  
                
                

              
            
          
          

        
      
    
    

                                          

Reply via email to