Comments (6)
In cuke4duke/java, step definitions are plain old java methods. You can just invoke the method directly. If the method is on another step definition class, just declare a dependency on that class in your constructor, and picocontainer will pass it in when the step definition object in instantiated. If you're using spring, just declare dependencies between step definition classes using regular spring DI techniques.
Does this answer your question?
from cuke4duke.
The problem is that I have several steps that might need to be delegated to, and I'd like to use the regular expression matching logic to determine which one, parse the remaining string correctly, and call the method. For example, I have the following possible strings:
a birth of "10 Jan 1959" w/o a place
a marriage-like event of "5 May 2000" in "Paris, France"
a graduation event w/o a date in "Atlanta, GA"
...
I'd like to be able to match "(a (?:birth|.event)) in "(.?)"" and have it figure out the place, and delegate to whatever matches group 1. In Ruby, it's totally straightforward to do that, but in Java, it doesn't seem possible.
from cuke4duke.
I see. So you want to call-by-string, and have Cucumber pick the right one for you? You need to do that via a method (let's assume we had a Given(String step) and similar When ant Then methods).
This could be on a superclass, or it could be on a special object that your step def class could get a ref to via DI. I like DI better than inheritance.
So what if you could do this:
@Given("foo")
public void foo(String theFoo) {
this.steps.Given("Ping " + theFoo);
this.steps.Given("Pong " + theFoo);
}
Is this what you're after?
from cuke4duke.
Yes! That would be perfect. :)
from cuke4duke.
Enable Java step definitions to call other steps indirectly by just providing a string. Closed by 6a88501
from cuke4duke.
Wiki updated: http://wiki.github.com/aslakhellesoy/cuke4duke/calling-steps-from-stepdefinitions
from cuke4duke.
Related Issues (20)
- Antlib should define all tasks HOT 1
- Cannot get maven-cuke4duke-jump-start to work.... HOT 3
- cuke4duke wiki has dead links HOT 5
- gherkin 2.4.0 breaks cuke4duke 0.4.3/0.4.4 running using maven HOT 2
- The plugin 'org.apache.maven.plugins:maven-cuke4duke-plugin' does not exists HOT 1
- cuke4duke-maven-plugin is does not use username/password for proxy connection HOT 2
- OutOfMemoryError caused by SpringFactory HOT 1
- Cuke4Duke StepMother still using announce
- Cucuber 1.0.1 breaks cuke4duke HOT 10
- Errors while running java example "HelloCucumber" HOT 9
- java example hangs
- Configure Source Directory
- accessing tags for OutlineTable HOT 1
- Missing ant Buildlistener class
- Deploy maven plugins to Maven Central
- Step definitions inside jar HOT 6
- Example project 'jamesladd-maven-cuke4duke-jump-start' fails HOT 5
- cuke4duke install fails HOT 6
- better grails example HOT 3
- Deprecate this project more clearly
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cuke4duke.