I'm trying to decide which approach to take to testing a Django app I'm writing. I've seen Cucumber and that put me onto lettuce (URL is lettuce.it) and pycurracy. I like the look of these frameworks since hopefully non-technical people will be able to write definitions.
I want to be able to:
- run functional tests integrated with Django, so sometimes inspecting models,
- test behaviours via a web browser - pycurracy seems to make this easier since there are already Selenium bindings. But Selenium is slow, so I'd be happier using a headless, ideally Javascript-capable browser for testing.
It seems like Lettuce can do the first easily, but the second will require me to build a library of steps for actions like "I click button x", etc. Conversely, I can't see any specific mention of Django and Pycurracy, although it can handle the second point.
Lettuce has a lower version number, but that doesn't mean it's inferior.
Has anyone used either or both of these? Any advice?
How do these work out when you have a reasonably large/complex project?