FitNesse.Slim Table Table Tutorial and a few minor features 27

Posted by Brett Schuchert Sun, 19 Apr 2009 04:45:00 GMT

Finally, the last in the table series is ready for prime time: http://schuchert.wikispaces.com/FitNesse.Tutorials.TableTables.

So what’s next? What do you want to see in additional tutorials?
  • New FitNesse.Slim features
  • Acceptance Test Staging
  • ...
During this past week I added a few things into FitNesse (very small things compared to what others are doing). When the next release happens (or if you build from source):
  • If you create a page whose name ends in “Examples”, FitNesse will set its type to Suite.
  • If you create a page whose begins with or ends with “Example” (in addition to “Test”), FitNesse will set its type to Test.
  • The SetUp and TearDown links are back. They add a SetUp or TearDown page as a child of the page you are currently viewing. So if you wanted to add a SetUp/TearDown for a suite, go to the suite page and click SetUp or TearDown.
  • By default, when you build from source, ant starts FitNesse on port 8080 to run acceptance tests. This can be a problem if you, like me, typically keep FitNesse running on port 8080. You can set an environment variable, FITNESSE_TEST_PORT, and the ant build.xml will pick up that environment variable and use the port specified instead.

Enjoy!

FitNesse Scenario Tables 75

Posted by Brett Schuchert Fri, 10 Apr 2009 07:21:00 GMT

This is a slightly rougher draft that the previous tutorials. Bob and I have talked about writing a new FitNesse book and these tutorials are practice for one part of the book. By the time these examples make it into a book, they will be the 3rd or 4th major revision.

In any case, here’s a tutorial that picks up where Script tables left off: http://schuchert.wikispaces.com/FitNesse.Tutorials.ScenarioTables.

I’ll be updating it over the weekend and into next week. I also hope to get the table table example done so I’ll have a complete set. If you are chomping at the bits for a table table example, let me know.

If you have comments about any of the tutorials or a wish list of what you’d like to see in a book related to acceptance testing with FitNesse, please post a comment or email me directly. shoe at objectmentor dot com.

FitNesse Script Tables Tutorials + updates 40

Posted by Brett Schuchert Tue, 07 Apr 2009 16:18:00 GMT

There is now a 4th FitNesse tutorial at: http://schuchert.wikispaces.com/FitNesse.Tutorials.ScriptTables. As the URL suggests, this is about Script Tables.

Next up: Scenario Tables and then Table Tables.

One other change, each of the 4 first tutorials now have source available at github along with tags:
  • FitNesse.Tutorials.0.Start
  • FitNesse.Tutorials.1.Start
  • FitNesse.Tutorials.2.Start
  • FitNesse.Tutorials.ScenarioTables.Start
  • FitNesse.Tutorials.ScriptTables.Start

So you can start at any of the tutorials rather than having to work your way through each one from the beginning. (Of course, that last tag is my starting point for the next tutorial, which will take a few days to update and add to this sequence of tutorials.)

Comments/suggestions/requests please.

FitNesse Tutorials 189

Posted by Brett Schuchert Fri, 03 Apr 2009 00:35:00 GMT

Here is another tutorial for FitNesse: http://schuchert.wikispaces.com/FitNesse.Tutorials.2.

This tutorial and the first now all fit together and form one ongoing example. If you work though the first three tutorials at: http://schuchert.wikispaces.com/FitNesse.Tutorials, you’ll have practiced:
  • Using Decision Tables
  • Using Query Tables
  • Refactoring within FitNesse
  • Using SetUp and TearDown pages
  • Understanding inheritance of SetUp and TearDown pages
  • Basic test organization under a suite
  • Switching into unit testing from acceptance testing

There’s more to go, but that’s a good start to get you cracking at the fundamentals of FitNesse.

As a bonus, there’s a demonstration of some code in Java that produces query results in a snap. The source code is on github: http://github.com/schuchert/queryresultbuilder/tree/master.

Here is one such example taken from that tutorial:
   public List<Object> query() {
      List<Program> programs = CreateSeasonPassFor.getSeasonPassManager()
            .toDoListContentsFor(programId);

      QueryResultBuilder builder = new QueryResultBuilder(Program.class);
      builder.register("timeSlot", new TimeSlotPropertyHandler());
      QueryResult result = builder.build(programs);
      return result.render();
   }

Hope this is useful!

FitNesse Decision Tables, a Tutorial 128

Posted by Brett Schuchert Tue, 31 Mar 2009 18:50:00 GMT

There’s a new tutorial on using FitNesse decision tables: http://schuchert.wikispaces.com/FitNesse.Tutorials.1.

This tutorial is a lead-up into using Query tables (that’s the next one I’ll be writing), which will describe some code you can get from github that will turn an object/collection into a well-formed query result.

These tutorials are background for a presentation I gave at SD West 2009 and will probably be giving at Agile 2009.

Comments Welcome.

FitNesse.Slim Scenario Shenanigans 70

Posted by Brett Schuchert Tue, 17 Mar 2009 04:25:00 GMT

I was working with Uncle Bob today and we came across a case where we wanted to invoke a curried method, but it was in FitNesse. It took me a while to grok it. Now I do, but it took some time.

On the surface it involves a Decision Table using a Scenario Table, which uses a Scenario Table that ultimately uses a named Fixture. It’s a bit of a long read but the results do suggest a way to express a generic test and then invoke it while reducing duplicated information.

Here’s the link: http://schuchert.wikispaces.com/FitNesse.Tutorials.ScenarioTables

This is a rough draft. I’ll be updating it over the next few days. If something does not make sense, please post a comment and I’ll update it.

For C# users: I have not tried this example using Slim.Net. It should work if you follow the instructions from the previous tutorial and simply replace the Java code with C# (not really a big deal when you see the code). In fact, C# offers a more flexible switch, so it would be a bit cleaner.

Getting Started with FitNesse in C# 97

Posted by Brett Schuchert Fri, 13 Mar 2009 06:45:00 GMT

The tutorial I mentioned yesterday now has a Java path and a C# path. Check out http://schuchert.wikispaces.com/FitNesse.Tutorials.0.

In addition, you’ll need to get Slim.net. Check out here: http://schuchert.wikispaces.com/Acceptance+Testing.UsingSlimDotNetInFitNesse.

Getting Started with FitNesse 59

Posted by Brett Schuchert Thu, 12 Mar 2009 06:29:00 GMT

Want to know the very basics of getting a first FitNesse example up and running? Check it out here: http://schuchert.wikispaces.com/FitNesse.Tutorials.0.

This is really bare-bones basic. I’ll be adding more tutorials (mostly by request).

Please place requests in the comments if you’d like to see other subjects (e.g. same thing with .Net and C#).

I’ll be sticking to Slim-based implementations unless there’s many requests for Fit.

FitNesse.Slim table table example and migration to a DSL 61

Posted by Brett Schuchert Mon, 23 Feb 2009 12:03:00 GMT

I’m working on some notes related to an upcoming presentation. You can see an example of using the Slim table table here: Table Table Example

It’s a work in process. If you see something that doesn’t quite make sense, please let me know.

Using SliM in FitNess with .Net 72

Posted by Brett Schuchert Sun, 22 Feb 2009 21:10:00 GMT

If you’d like a quick introduction to using SliM with .Net, Mike Stockdale is working on an implementation and here’s a quick writeup of what you need to do to get it working: Using Slim.Net in FitNesse

Older posts: 1 2 3