aslak hellesoy wrote:
Ok, I'll give a stab at what a 5 minute introduction might contain.
Please comment.
1) Who should use Cucumber, and what benefits can you get from it?
2) How Cucumber works (high level explanation without getting too
technical).
3) Learn the nomenclature - features, scenarios, steps (step
definitions later). Some style guidlines.
4) What does a Cucumber feature look like (plain - no outlines or
tables). Learn how to write one in a simple text editor.
5) How to install and run Cucumber (using the one from 3 as example.
No Rake yet - just the cucumber command)
6) What does the output from Cucumber mean? (Learn to read the
deafault console output. Colours and error messages. Mention other
formatters)
I just thought of a possible addition. Might go here, or possibly earlier.
"Starting points" - how to implement Cucumber, starting from where you
are now with your coding project.
1. Group One: Haven't started yet; just getting organized. How to use
this tool to Do It Right.
2. Group Two: HAVE started, and some thing are already working, but have
no testing in place, and significant coding to launch. What to do to
bring in cucumber most efficiently.
3. Group Three: Have working code. Want to bring in testing. It is it
too late to use Cucumber? If not, how do I do it?
What's needed isn't so much detailed instructions as is a priority list,
and a clear starting point. Details can be worked out using the
discussion list, I imagine. A top-down approach. For amateurs like me,
it's hard for me to do top-down, when I know so little.
For example: I'm in Group Two, with my most important project, and I'm
my own customer, as it were. What I'm doing (tonight, in fact), is
simulating a fresh start, starting with a few simple classes, which I
haven't written yet (because I don't write classes - I'm totally
procedural, but that's changing immediately), working to move ahead
quickly by adapting existing code to the new framework, as it were. But,
of course, I'm not at all sure I'm going about it right. I'll fumble
through, until things get clearer, but a little recipe of sorts would be
very helpful, and I don't have one.
I hope this helps!
Tom
7) Learn to write step definitions (they are similar to defining
methods in most imperative languages like Ruby, Java, C, Pascal....).
Mention Regexps, Rubular.com.
8) How to implement the body of a step definition. Learn about RSpec's
#should and #should_not - and matchers
9) How to fix a failing (red) step definition by writing some code (in
lib for now since we're not doing any Rails)
10) Mention DTSTTCPW and refactoring - with some external links. TDD
basics.
11) Learn how to use Rake (useful when you have more than one feature
file). Mention RCov.
12) Learn about the various command-line switches
13) Learn about more advanced Gherkin (Cucumber language) features
such as Tables, PyString, Scenario Outlines and Background (coming soon)
14) Learn about hooks (Before, After etc)
15) Various other features (CUCUMBER_COLORS, AutoTest, cucumber.yml
(profiles)
16) IDE support
17) How to use other assertion tools like Test::Unit, Shoulda, etc.
18) How to use Cukes with non-Ruby platforms (Watir family, JRuby,
IronRuby, FunFX/Flex)
The reader will gradually learn about the recommended file layout
structure.
Maybe this is more like a 10-15 minute intro. I'll try to keep it as
short as possible without skipping important concepts.
What's missing? What's in the wrong order? What should I remove?
Aslak
Aslak
I'm working on this thing right now, and maybe it'll be far
enough along for some kind of review this weekend. Or...I
could put it up, say on a Google Sites wiki, and several of us
could work on it. Any thoughts? I actually prefer to work in a
group, but have already started on my own.
Yeah, I like that idea - a temporary Google Sites wiki.
Tom
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< t...@tomcloyd.com <mailto:t...@tomcloyd.com> >> (email)
<< TomCloyd.com >> (website) << sleightmind.wordpress.com
<http://sleightmind.wordpress.com> >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org <mailto:rspec-users@rubyforge.org>
http://rubyforge.org/mailman/listinfo/rspec-users
--
Aslak (::)
--
Aslak (::)
------------------------------------------------------------------------
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< t...@tomcloyd.com >> (email)
<< TomCloyd.com >> (website)
<< sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users