Hi,

I'm looking for recommended solution (best practices) on sharing test data 
(strings, Json Objects, POJO - anything) between steps, especially when 
they located in different classes. Let's consider following abstract 
example:

Given I am a user with '2' cars
When I'm logged in
Then I should see '2' cars on Home screen

This case represents two approaches in sharing some test data between steps:

   - assuming that '2' is a variable - I pass this test data as parameter 
   from actual scenario into 2 step implementations. There is no problem with 
   that, looks good and reusable
   - but second step needs to know something that was defined in the 
   previous (first) step, login credentials to be specific

This last case is what I'm trying to ask about. First step does some mages 
about creating user and it needs to communicate credentials to any other 
step that might need them. If first and second steps implementations are in 
the same class - well, we can use some instance or class variables to store 
that. But it's not always the case, and this information might be needed 
somewhere else outside of this class.

So what is the best practices to share such data given that propagate it 
through stories is not an option (it might be result for some calculations 
after all, not just an email) and given that Jbehave AFAIK does not have 
any object like "context" or "world" in Cucumber?

The implementations we consider now are Enum Singleton or static class 
wrapping around hash map, I got suggestions to look into ThreadLocal as 
well, but would love to learn about experiences.

-- 
You received this message because you are subscribed to the Google Groups 
"JBehave User" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send an email to [email protected].
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/jbehave-user/64f18407-6e84-4e88-ab75-748baada94ce%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to