You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wicket.apache.org by Martijn Dashorst <ma...@gmail.com> on 2010/01/04 14:16:01 UTC

Cucumber + Wicket

Somehow the ruby guys get sexy things done and I often think: why
can't I have that? They also have a knack for naming things in a fun,
but good way. Enter Cucumber.

Cucumber is a Behavior Driven Development tool, and brings human
readable, testable specifications to programming. You can find more
about Cucumber on their website [1], and I urge you to take a look at
the Railscasts [2,3,4] to see it in action. I found it really
enlightening to see this in action and wanted it for myself.

If you're too lazy: this is how a testable, human readable Cucumber
specification looks like:

Feature: Helloworld
    In order to greet the world
    As a user
    I want to see the text Hello World in a browser window.

    Scenario: Hello World
    Given I am viewing the home page
    Then I should see "Hello World"

Running this using maven results in:

[INFO] Feature: Helloworld
[INFO]   In order to greet the world
[INFO]   As a user
[INFO]   I want to see the text Hello World in a browser window.
[INFO]
[INFO]   Scenario: Hello World              # features/helloworld.feature:7
[INFO]     Given I am viewing the home page # WicketSteps.iAmViewing(String)
[INFO]     Then I should see "Hello World"  # WicketSteps.iShouldSee(String)


Fortunately for us Java weenies, Aslak Hellesøy has created a Java
implementation of Cucumber, and even enabled it for use within Maven:
cuke4duke.

Over new years I've been trying to see if I could get it to work with
Wicket, and those efforts are now available for anyone to take a look
at:

    http://github.com/dashorst/cucumber-wicket

There's not much to see (yet), and I'm hoping for some feedback as to
how you would write your own specifications. Is this something you get
excited about?

Martijn

[1] http://cukes.info
[2] http://railscasts.com/episodes/155-beginning-with-cucumber
[3] http://railscasts.com/episodes/159-more-on-cucumber
[4] http://railscasts.com/episodes/186-pickle-with-cucumber

-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.4 increases type safety for web applications
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.4

Re: Cucumber + Wicket

Posted by nino martinez wael <ni...@gmail.com>.
Martijn, I've been using Jbehave+Jmock for some time now it has a
similar functionality..

And have been pondering on doing a integration. I did something very
basic back in 2008.

[1]=http://jbehave.org/documentation/two-minute-tutorial

regards Nino

2010/1/5 Martijn Dashorst <ma...@gmail.com>:
> I've updated the project and now the Click counter scenario also works.
>
> The project also contains a couple of extensions to WicketTester
> making it easier to find components in a rendered page. See
> http://github.com/dashorst/cucumber-wicket/tree/master/src/test/java/org/apache/wicket/tester/
> for the matchers.
>
> Martijn
>
> On Mon, Jan 4, 2010 at 2:16 PM, Martijn Dashorst
> <ma...@gmail.com> wrote:
>> Somehow the ruby guys get sexy things done and I often think: why
>> can't I have that? They also have a knack for naming things in a fun,
>> but good way. Enter Cucumber.
>>
>> Cucumber is a Behavior Driven Development tool, and brings human
>> readable, testable specifications to programming. You can find more
>> about Cucumber on their website [1], and I urge you to take a look at
>> the Railscasts [2,3,4] to see it in action. I found it really
>> enlightening to see this in action and wanted it for myself.
>>
>> If you're too lazy: this is how a testable, human readable Cucumber
>> specification looks like:
>>
>> Feature: Helloworld
>>    In order to greet the world
>>    As a user
>>    I want to see the text Hello World in a browser window.
>>
>>    Scenario: Hello World
>>    Given I am viewing the home page
>>    Then I should see "Hello World"
>>
>> Running this using maven results in:
>>
>> [INFO] Feature: Helloworld
>> [INFO]   In order to greet the world
>> [INFO]   As a user
>> [INFO]   I want to see the text Hello World in a browser window.
>> [INFO]
>> [INFO]   Scenario: Hello World              # features/helloworld.feature:7
>> [INFO]     Given I am viewing the home page # WicketSteps.iAmViewing(String)
>> [INFO]     Then I should see "Hello World"  # WicketSteps.iShouldSee(String)
>>
>>
>> Fortunately for us Java weenies, Aslak Hellesøy has created a Java
>> implementation of Cucumber, and even enabled it for use within Maven:
>> cuke4duke.
>>
>> Over new years I've been trying to see if I could get it to work with
>> Wicket, and those efforts are now available for anyone to take a look
>> at:
>>
>>    http://github.com/dashorst/cucumber-wicket
>>
>> There's not much to see (yet), and I'm hoping for some feedback as to
>> how you would write your own specifications. Is this something you get
>> excited about?
>>
>> Martijn
>>
>> [1] http://cukes.info
>> [2] http://railscasts.com/episodes/155-beginning-with-cucumber
>> [3] http://railscasts.com/episodes/159-more-on-cucumber
>> [4] http://railscasts.com/episodes/186-pickle-with-cucumber
>>
>> --
>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>> Apache Wicket 1.4 increases type safety for web applications
>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.4
>>
>
>
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.4
>

Re: Cucumber + Wicket

Posted by Martijn Dashorst <ma...@gmail.com>.
I've updated the project and now the Click counter scenario also works.

The project also contains a couple of extensions to WicketTester
making it easier to find components in a rendered page. See
http://github.com/dashorst/cucumber-wicket/tree/master/src/test/java/org/apache/wicket/tester/
for the matchers.

Martijn

On Mon, Jan 4, 2010 at 2:16 PM, Martijn Dashorst
<ma...@gmail.com> wrote:
> Somehow the ruby guys get sexy things done and I often think: why
> can't I have that? They also have a knack for naming things in a fun,
> but good way. Enter Cucumber.
>
> Cucumber is a Behavior Driven Development tool, and brings human
> readable, testable specifications to programming. You can find more
> about Cucumber on their website [1], and I urge you to take a look at
> the Railscasts [2,3,4] to see it in action. I found it really
> enlightening to see this in action and wanted it for myself.
>
> If you're too lazy: this is how a testable, human readable Cucumber
> specification looks like:
>
> Feature: Helloworld
>    In order to greet the world
>    As a user
>    I want to see the text Hello World in a browser window.
>
>    Scenario: Hello World
>    Given I am viewing the home page
>    Then I should see "Hello World"
>
> Running this using maven results in:
>
> [INFO] Feature: Helloworld
> [INFO]   In order to greet the world
> [INFO]   As a user
> [INFO]   I want to see the text Hello World in a browser window.
> [INFO]
> [INFO]   Scenario: Hello World              # features/helloworld.feature:7
> [INFO]     Given I am viewing the home page # WicketSteps.iAmViewing(String)
> [INFO]     Then I should see "Hello World"  # WicketSteps.iShouldSee(String)
>
>
> Fortunately for us Java weenies, Aslak Hellesøy has created a Java
> implementation of Cucumber, and even enabled it for use within Maven:
> cuke4duke.
>
> Over new years I've been trying to see if I could get it to work with
> Wicket, and those efforts are now available for anyone to take a look
> at:
>
>    http://github.com/dashorst/cucumber-wicket
>
> There's not much to see (yet), and I'm hoping for some feedback as to
> how you would write your own specifications. Is this something you get
> excited about?
>
> Martijn
>
> [1] http://cukes.info
> [2] http://railscasts.com/episodes/155-beginning-with-cucumber
> [3] http://railscasts.com/episodes/159-more-on-cucumber
> [4] http://railscasts.com/episodes/186-pickle-with-cucumber
>
> --
> Become a Wicket expert, learn from the best: http://wicketinaction.com
> Apache Wicket 1.4 increases type safety for web applications
> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.4
>



-- 
Become a Wicket expert, learn from the best: http://wicketinaction.com
Apache Wicket 1.4 increases type safety for web applications
Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.4.4