# Behaviour driven development in OCaml

**URL:** https://discuss.ocaml.org/t/behaviour-driven-development-in-ocaml/1814
**Category:** Ecosystem
**Tags:** testing, bdd
**Created:** [April 5, 2018, 3:13pm UTC](https://discuss.ocaml.org/t/behaviour-driven-development-in-ocaml/1814 "2018-04-05T15:13:58Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![cyocum](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@cyocum](https://discuss.ocaml.org/u/cyocum)
#### Post date: [April 6, 2018, 9:47am UTC](https://discuss.ocaml.org/t/behaviour-driven-development-in-ocaml/1814/2 "2018-04-06T09:47:27Z")

</div>

I had planned to hold off an announcement until a better time when I had more features. However, I and @Thegaram, who has been a great help, are working on [Cucumber.ml](https://github.com/cucumber/cucumber.ml) which is progressing towards implementing Cucumber in OCaml. I would caution that we are still in very early stages but if you are interested in it, please head over to the repository and have a look.

Things we can already do:

- Given, When, Then already work so there is a basic runtime.
- Before and After hooks work.
- State passing between steps by default

Things that are outstanding:

- Tags do not work at the moment (the structures are there but we need to hook them up)
- Running multiple feature files from the command line (we need to implement command line arguments but I am bouncing back and forth on using a getopt library or Cmdliner)
- I am sure there are things that I am missing

I will be attending CukenFest in London later in the month and I will be doing the OSS hack day so I am hoping to get basic tags working then.

---

_[View the full topic](https://discuss.ocaml.org/t/behaviour-driven-development-in-ocaml/1814)._
