I am curious if anyone has setup BDD, ExpressionEngine and Continuous integration and could share their setup/approach? I have heard rumor of people using cucumber with EE but have not see any information about this in practice.

Thanks, Cory

  • 2
    Apparently EllisLab use Cucumber for internal EE development. I've never heard of anyone using it on an actual site though. Interesting question. – Adrian Macneil Mar 6 '13 at 3:10
  • 3
    We've used cucumber scenarios and automated CI testing with Jenkins on our EE sites and internal EE add-ons. The setup was pretty involved though so we haven't had the time to write about it. In short we have a local Jenkins box that loads the scenarios and tests against a staging server post deployment with each commit. Results are sent to us in a development HipChat chat room. – Erik Reagan Mar 6 '13 at 18:01
  • 1
    Hi Erik, Thanks for the quick feedback, that is more or less what I imagined. I am really curious about this and would love a write up. I also wonder how you manage db changes in this env. – Cory Gwin Mar 7 '13 at 1:59
  • I really want to write a db migrations tool for EE. I keep thinking i know how to handle a lot of it, but there are definitely issues, too. – adrienne May 2 '13 at 21:35
  • 1
    This link recently from EE Insider Deploying ExpressionEngine based site about database migrations might be relevant to this conversation. Adrienne, I'd love if you could write a tool to handle this! In the meantime, I'm going to try this solution when I get a chance. – Josh Conner Jun 27 '13 at 21:54

I think it's safe to say that testing at this level isn't very common in the EE community (given that no one has answered this question in the past 6 months).

It would certainly be possible to set up Cucumber with EE, although I have not tried it myself on an EE site. You will need to address a few issues first, such as setting up multiple staging/test environments to run your tests on.

You could also try using something like Mink, which seems to be a similar acceptance testing framework built on PHP instead of Ruby (may be easier to set up).

In terms of running the tests (continuous integration), I would check out either Travis Pro or CircleCI if you don't feel like going through the hassle of setting up your own Jenkins server.

  • This is unfortunate. I am currently using non-CMS frameworks (such as Laravel) because of the difficulty in testing EE. – EpicVoyage Aug 6 '14 at 13:37

We use an integration with CircleCi for our EE deployments. Currently, it runs our custom build tool called Norma to compile assets (html, sass, coffeescript, and templates) and auto deploys to our alpha, beta, and production servers if a build passes. CircleCI has been working very well for our process and we also use it for our NodeJS testing.

We've written some initial end to end tests using mocha-casperjs to check things like following a workflow to sign into a page and similar things like that, but we don't have any tests for addons yet.

There are a lot of things that would make this better, but so far it's working for us!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.