use Cucumber in other programming languages

76 views
Skip to first unread message

ik

unread,
Jan 24, 2010, 8:32:04 AM1/24/10
to cu...@googlegroups.com
Hello,

Is there a way to use cucumber in other languages without reimplementing the entire code base in that specific language ?

Thanks,
Ido

http://ik.homelinux.org/

Ben Hall

unread,
Jan 24, 2010, 8:43:07 AM1/24/10
to cu...@googlegroups.com
Hello,

Cucumber has the concept of a wire protocol to allow this.

Take a look at Cuke4Duke (uses it for Java)
http://wiki.github.com/aslakhellesoy/cuke4duke/ and Cuke4nuke (for
.Net) http://github.com/richardlawrence/Cuke4Nuke

Ben

> --
> You received this message because you are subscribed to the Google Groups
> "Cukes" group.
> To post to this group, send email to cu...@googlegroups.com.
> To unsubscribe from this group, send email to
> cukes+un...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/cukes?hl=en.
>

ik

unread,
Jan 24, 2010, 8:48:20 AM1/24/10
to cu...@googlegroups.com
On Sun, Jan 24, 2010 at 15:43, Ben Hall <ben2...@googlemail.com> wrote:
Hello,

Cucumber has the concept of a wire protocol to allow this.

Take a look at Cuke4Duke (uses it for Java)
http://wiki.github.com/aslakhellesoy/cuke4duke/ and Cuke4nuke (for
.Net) http://github.com/richardlawrence/Cuke4Nuke

Thanks, but is there a way to use it using compiled languages and not VM based languages such as C ?

 

Ben Hall

unread,
Jan 24, 2010, 9:16:14 AM1/24/10
to cu...@googlegroups.com
I don't see why not. You will need to create your own implementation
of the Wire protocol.

Under the covers, you start a server (In C) and cucumber will send
messages to the server for example starting a scenario, a step, a
verification and expects the server to return the result.

Take a look at the wiki
http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol

ik

unread,
Jan 24, 2010, 9:42:34 AM1/24/10
to cu...@googlegroups.com
On Sun, Jan 24, 2010 at 16:16, Ben Hall <ben2...@googlemail.com> wrote:
I don't see why not. You will need to create your own implementation
of the Wire protocol.

Under the covers, you start a server (In C) and cucumber will send
messages to the server for example starting a scenario, a step, a
verification and expects the server to return the result.

Take a look at the wiki
http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol


Thank you very much for your help

Ido
 

Matt Wynne

unread,
Jan 24, 2010, 6:52:02 PM1/24/10
to cu...@googlegroups.com

On 24 Jan 2010, at 14:42, ik wrote:

>
> http://ik.homelinux.org/
>
>


> On Sun, Jan 24, 2010 at 16:16, Ben Hall <ben2...@googlemail.com>
> wrote:
> I don't see why not. You will need to create your own implementation
> of the Wire protocol.
>
> Under the covers, you start a server (In C) and cucumber will send
> messages to the server for example starting a scenario, a step, a
> verification and expects the server to return the result.
>
> Take a look at the wiki
> http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol
>
>
> Thank you very much for your help
>
> Ido

Hi Ido,

Please let us know if you do implement a wire server for another
platform - we like getting Cucumber to work with new languages :) -
and come back here and ask if you need any clarification about the
protocol.

Cuke4Nuke, especially its features[1] are probably a good reference
for you.
[1]http://github.com/richardlawrence/Cuke4Nuke/tree/master/features/

cheers,
Matt

http://mattwynne.net
+447974 430184

ik

unread,
Jan 25, 2010, 4:24:23 AM1/25/10
to cu...@googlegroups.com
On Mon, Jan 25, 2010 at 01:52, Matt Wynne <ma...@mattwynne.net> wrote:

On 24 Jan 2010, at 14:42, ik wrote:


http://ik.homelinux.org/


On Sun, Jan 24, 2010 at 16:16, Ben Hall <ben2...@googlemail.com> wrote:
I don't see why not. You will need to create your own implementation
of the Wire protocol.

Under the covers, you start a server (In C) and cucumber will send
messages to the server for example starting a scenario, a step, a
verification and expects the server to return the result.

Take a look at the wiki
http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol


Thank you very much for your help

Ido

Hi Ido,

Please let us know if you do implement a wire server for another platform - we like getting Cucumber to work with new languages

 
Did not think otherwise :) I do not have time for now to implement it, but I do want to do it when I'll have some time for it.

 
:) - and come back here and ask if you need any clarification about the protocol.

Cuke4Nuke, especially its features[1] are probably a good reference for you.
[1]http://github.com/richardlawrence/Cuke4Nuke/tree/master/features/

Thanks


 

To unsubscribe from this group, send email to cukes+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/cukes?hl=en.



--
You received this message because you are subscribed to the Google Groups "Cukes" group.
To post to this group, send email to cu...@googlegroups.com.
To unsubscribe from this group, send email to cukes+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/cukes?hl=en.

--

Paolo Ambrosio

unread,
Jan 24, 2010, 9:30:04 AM1/24/10
to cu...@googlegroups.com
On Sun, Jan 24, 2010 at 2:48 PM, ik <ido...@gmail.com> wrote:
> On Sun, Jan 24, 2010 at 15:43, Ben Hall <ben2...@googlemail.com> wrote:
>> Cucumber has the concept of a wire protocol to allow this.
>>
>> Take a look at Cuke4Duke (uses it for Java)
>> http://wiki.github.com/aslakhellesoy/cuke4duke/ and Cuke4nuke (for
>> .Net) http://github.com/richardlawrence/Cuke4Nuke
>
> Thanks, but is there a way to use it using compiled languages and not VM
> based languages such as C ?

The wire protocol uses a TCP socket for communication, as you can
clearly read in the cucumber documentation
(http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol). I wrote
a spike solution (the example works, but since it is a spike it needs
to be rewritten from scratch using TDD/BDD) to see if cucumber can be
used to call C++ steps. I'm still completing the build system: it
compiles on my Ubuntu 9.10 with Boost 1.40 installed system-wide and
GTest trunk installed in /usr/local. I wanted to post a message to
this mailing list when the build system was working and I had time to
write some documentation, but since you asked, you can find it here:
http://github.com/paoloambrosio/spike-cuke4cpp


Regards,
Paolo

Paolo

unread,
Jan 24, 2010, 9:48:15 AM1/24/10
to Cukes
On Sun, Jan 24, 2010 at 2:48 PM, ik <ido...@gmail.com> wrote:
> On Sun, Jan 24, 2010 at 15:43, Ben Hall <ben2...@googlemail.com> wrote:
>> Cucumber has the concept of a wire protocol to allow this.
>>
>> Take a look at Cuke4Duke (uses it for Java)
>> http://wiki.github.com/aslakhellesoy/cuke4duke/ and Cuke4nuke (for
>> .Net) http://github.com/richardlawrence/Cuke4Nuke
>
> Thanks, but is there a way to use it using compiled languages and not VM
> based languages such as C ?

The wire protocol uses a TCP socket for communication, as you can


clearly read in the cucumber documentation
(http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol). I wrote
a spike solution (the example works, but since it is a spike it needs
to be rewritten from scratch using TDD/BDD) to see if cucumber can be
used to call C++ steps. I'm still completing the build system: it
compiles on my Ubuntu 9.10 with Boost 1.40 installed system-wide and
GTest trunk installed in /usr/local. I wanted to post a message to
this mailing list when the build system was working and I had time to
write some documentation, but since you asked, you can find it here:
http://github.com/paoloambrosio/spike-cuke4cpp


Regards,
Paolo


P.S.
For some reason I can't see my earlier post (submitted by email) so I
apologize in advance if this is duplicated.

Paolo

unread,
Jan 25, 2010, 2:22:50 AM1/25/10
to Cukes
I'm trying to reply to this thread since yesterday, but Google Groups
does not seem to accept my posts. I hope this time it works.

I wrote a spike solution to see if Cucumber can be used to call C++
steps. The basic example works, but I have not implemented every
cucumber feature. It HAS TO be rewritten from scratch using TDD/BDD.
I'm still completing the build system: for now it compiles on my

Andrew Premdas

unread,
Jan 25, 2010, 6:33:10 AM1/25/10
to cu...@googlegroups.com
Your posts were waiting moderation

All best 

Andrew

2010/1/25 Paolo <paolo.a...@gmail.com>

Matt Wynne

unread,
Jan 25, 2010, 9:05:19 AM1/25/10
to cu...@googlegroups.com

On 24 Jan 2010, at 14:48, Paolo wrote:

> On Sun, Jan 24, 2010 at 2:48 PM, ik <ido...@gmail.com> wrote:
>> On Sun, Jan 24, 2010 at 15:43, Ben Hall <ben2...@googlemail.com>
>> wrote:
>>> Cucumber has the concept of a wire protocol to allow this.
>>>
>>> Take a look at Cuke4Duke (uses it for Java)
>>> http://wiki.github.com/aslakhellesoy/cuke4duke/ and Cuke4nuke (for
>>> .Net) http://github.com/richardlawrence/Cuke4Nuke
>>
>> Thanks, but is there a way to use it using compiled languages and
>> not VM
>> based languages such as C ?
>
> The wire protocol uses a TCP socket for communication, as you can
> clearly read in the cucumber documentation
> (http://wiki.github.com/aslakhellesoy/cucumber/wire-protocol). I wrote
> a spike solution (the example works, but since it is a spike it needs
> to be rewritten from scratch using TDD/BDD) to see if cucumber can be
> used to call C++ steps. I'm still completing the build system: it
> compiles on my Ubuntu 9.10 with Boost 1.40 installed system-wide and
> GTest trunk installed in /usr/local. I wanted to post a message to
> this mailing list when the build system was working and I had time to
> write some documentation, but since you asked, you can find it here:
> http://github.com/paoloambrosio/spike-cuke4cpp

Great stuff - thanks for sharing Paolo!

>
>
> Regards,
> Paolo
>
>
> P.S.
> For some reason I can't see my earlier post (submitted by email) so I
> apologize in advance if this is duplicated.
>

> --
> You received this message because you are subscribed to the Google
> Groups "Cukes" group.
> To post to this group, send email to cu...@googlegroups.com.
> To unsubscribe from this group, send email to cukes+un...@googlegroups.com
> .
> For more options, visit this group at http://groups.google.com/group/cukes?hl=en
> .
>

cheers,

aslak hellesoy

unread,
Jan 26, 2010, 12:47:52 PM1/26/10
to cukes
> Hello,
>
> Cucumber has the concept of a wire protocol to allow this.
>
> Take a look at Cuke4Duke (uses it for Java)
> http://wiki.github.com/aslakhellesoy/cuke4duke/ and Cuke4nuke (for
> .Net) http://github.com/richardlawrence/Cuke4Nuke
>

Cuke4Duke doesn't use the wire protocol, only Cuke4Nuke does.

Aslak

Reply all
Reply to author
Forward
0 new messages