Announcing cucumber-electron
11–20 of 31 posts
Re: Announcing cucumber-electron
#12whats the best headless browser for CI/CD? I've always used Phantom, but would be keen to explore alternatives (especially if it could quiet the "nobody uses phantom in real life")
I write tests using chromedriver. Ends up being really simple to write, and if I want to debug something, it's just a chrome instance that I can use normally if I make the tests wait. Only downside is you have to make it run with xvfb on the CI server, but that's pretty easy to set up in your config file usually.
Re: Announcing cucumber-electron
#13Re: Announcing cucumber-electron
#14Pretty soon no word will have its original meaning. An electron is not a subatomic particle. A cucumber isn't a veggie. Rust isn't...
Re: Announcing cucumber-electron
#15whats the best headless browser for CI/CD? I've always used Phantom, but would be keen to explore alternatives (especially if it could quiet the "nobody uses phantom in real life")
Re: Announcing cucumber-electron
#16Pretty soon no word will have its original meaning. An electron is not a subatomic particle. A cucumber isn't a veggie. Rust isn't...
Perhaps we should take a hint from Urbit and start naming our projects Zog-wip-let-bon, etc.
http://www.popsci.com/science/article/2013-04/fyi-how-does-d...
Re: Announcing cucumber-electron
#17Can anyone explain why you would want to use Cucumber? I heard it enables non-programmers to write the tests themselves but I don't see that as realistic as non-programmers don't have the training to specify requirements rigourously. At least with coded tests you can use IDEs to validate and refactor your tests.
Re: Announcing cucumber-electron
#18Pretty soon no word will have its original meaning. An electron is not a subatomic particle. A cucumber isn't a veggie. Rust isn't...
Re: Announcing cucumber-electron
#19Can anyone explain why you would want to use Cucumber? I heard it enables non-programmers to write the tests themselves but I don't see that as realistic as non-programmers don't have the training to specify requirements rigourously. At least with coded tests you can use IDEs to validate and refactor your tests.
The number one advantage is that using Cucumber produces human-readable documentation that is also executable, and through the magic of CI is prevented from becoming stale.
I use Cucumber with Rails, and I've actually heard a lot of really good arguments not to use Cucumber. The one thing these all seem to have in common is, they almost universally do NOT completely rebuke TDD at-large. Nobody (competent) is suggesting you should develop by the seat of your pants. They have issues with Gherkin or with Cucumber's implementation specifically, but if your team had success with Cucumber, you would not give it up without planning to have a replacement.
You may choose to eschew Gherkin style entirely, and you can certainly accomplish much the same thing using feature testing in modern RSpec and scenarios. This may be easier to refactor for you, but for me a well-organized vocabulary of step definitions makes it so easy to copy a scenario, reorganize the steps, and add some new things to create a new feature, adding almost no new test code.
There is also Spinach, which rips out all of Cucumber's regex silliness and declines to enforce a global vocabulary, instead encouraging modular design of scenarios and step definitions (since you might want to say the same thing in two different places and mean two different things.)
There is also Turnip, which integrates Gherkin into RSpec and also has many of the same advantages of Spinach, but includes other options (cleaner options) besides the Regex method for building parameterized step definitions. I think this one is my favorite, but my small project still uses Cucumber proper.
In the beginning of our project, it was very helpful that my PM was writing out requirements in Cucumber style. It meant that while someone (not a coder, but not an inexperienced PM either) had gone to the trouble to specify requirements with rigor, I could focus on coding, just jump in and start writing features, with a clear target of limited scope, that I could easily follow to avoid straying off into the weeds.
Before long my PM got busy with other projects and I took over writing the cucumber stories. Not just me, but the other dev too -- and that was just as well. I often found myself rewriting PM's scenarios anyway, to make them easier to map directly to step definitions, more clear in a context-free sense, or generally less ambiguously specified. These enhancements also made them less human-friendly.
Both approaches to writing Cucumber stories definitely have merit. The one thing you need to have is a strong set of test scenarios (however you've implemented them) with good total coverage of the features and the requirements, so that new or changed requirements can be evaluated in the context of the whole program: what features are broken by your change?
Two things I have found are also critical when using ATDD: your whole team (at least all of the devs) need to be able to run the tests, and (maybe even more important) you need to have a CI solution in place so that no individual needs to be responsible for running all of the tests after each change when your suite gets too heavy for a pre-commit hook. A regression suite is like a pager: when nobody is on-call then everybody is on-call.