On Mon, Nov 5, 2012 at 11:10 PM, Jasha Joachimsthal <[email protected]>wrote:
> On 6 November 2012 04:21, Chris Geer <[email protected]> wrote: > > > I'd like to propose we consolidate the integration tests into a single > > project. The major driver of this is that as the tests get more complex > > it's hard to split the step definitions across the current boundaries > For > > example, to test RAVE-845, you need to create a user, log in as them, > > friend someone, logout, login as an admin, and try to delete the user. > Most > > of those steps exist, but they are in at least two different projects. > This > > would require duplicating a bunch of steps across multiple projects which > > would add to long term maintenance. > > > > Even with consolidating into a single project, we can still organize the > > stories themselves inside that project to make them easier to > > find/understand. It would simplify things and maximize reuse without > > negatively impacting flexibility. The only potential impact is that it > > might run all the tests under a single web driver instance which would > keep > > cookies but I think that can be easily managed. > > > > Please let me know if there are any objections or major factors I'm not > > considering. If not I'll work on this over the next couple days. > > > > I'm not against merging the integration tests into a single module, but you > probably have to deal with some issues, the webdriver is one of them. The > before and after step & story annotations can apply to any step/story, not > just the class you were working on. The loading of the step classes is done > in [1]. The steps already have their own annotation (@Step instead of just > @Component). > That is a good point that if we ever need to use the before/after annotations we'd have to be more careful. Could we not solve that problem using multiple JBehave executors and multiple Story.java classes that handle specialized stories? Another alternative would be to just consolidate common steps, and some stories, into the core project but still support additional projects for specialized situations. > In the current setup you can choose to run the full integration test suite > which starts up the portal for you, or a single story against a running > repository. The latter is especially handy when you're developing or > maintaining the integration test itself. > We would still be able to support this scenario I believe. > > [1] http://s.apache.org/g6 > > Jasha > > > > > > Thanks, > > Chris > > >
