[
http://jira.codehaus.org/browse/JBEHAVE-492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=264708#action_264708
]
Brian Repko commented on JBEHAVE-492:
-------------------------------------
Hunh? When using the DI/IoC container the steps classes are created with the
container and we pass in instances. They are singletons for the most part and
should work just fine in a multi-threaded environment but they aren't created
by JBehave.
The Spring-Security example shows this with spring but I think the general
trader examples do this as well. I'm pretty sure you don't want JBehave to get
into the fun intricacies of object creation.
> ConfigurableEmbedder.addSteps(..) should take classes not instances.
> --------------------------------------------------------------------
>
> Key: JBEHAVE-492
> URL: http://jira.codehaus.org/browse/JBEHAVE-492
> Project: JBehave
> Issue Type: New Feature
> Components: Core
> Affects Versions: 3.x
> Reporter: Paul Hammant
> Fix For: 3.x
>
>
> public void addSteps(List<Class> steps) {
> }
> ... would be better.
> Why? There's an instance that's made during the setup of a suite (refer
> EtsyStories). If you are running in multi-threaded mode, that instance is
> **never** used during the running of scenarios.
> In multi-threaded mode, there's a constructor for BasePage that takes a
> WebDriverProvider. When it is passed in during the primordial instantiation
> phase, no WebDriver has been initialized. We don't want to do that of course
> because (a) we know this instance is going to be garbage collected and never
> used, and (b) on SauceLabs at least it would result in browser opening in the
> cloud then closing (or maybe not closing, but never used; I'm not sure).
> JBehave does not actually need the instance. I believe this is provable.
> Instead it could perfectly well use the class definition without the instance
> ref somehow.
> Proposal: Long overdue, I think, but could for 4.x we shift to using
> class-defs. Either rework CandidateSteps to hold a Class rather than an
> instance. Or further do a away (move the logic elsewhere) with
> CandidateSteps, and use the POJO Step's class-def directly.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email