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

Reply via email to