Getting Started in the Coldbox Koans The Coldbox Koans are actually built right into a Coldbox Lite application, so you can test your knowledge as you learn, using a real app.
We have broken Coldbox down into sections, so you can tackle one section at a time... as you get more comfortable with the material. Each section will have 3 sets of tests.
Basics - Pop Quiz
This is a pop quiz styled question and answer approach. You will be tested on names of functions, default settings, and ensure you know the basics before diving into the 2nd section, where your skills are put to the test.
Advanced - Practical Exercises
This is where you have to navigate the Coldbox app, to find handlers, and views, to modify them to make the tests pass.
Expert - Practical Exercises
This is where you have to navigate the Coldbox app, create new handlers, actions, and views, to make the tests pass.
Koans that are Coming Soon
This project is still new, but we have ideas for more koans, including, but not limited to the following:
- Dependency Injection Koan
- Caching Koan
- Logging Koan
We are also planning on making the Expert Examples actually help you build an application, so when you are done, you have a small working app, with Model View Controllers (handlers) DAO Logging and Caching.
If you would like to contribute to the project, please talk to Gavin on Twitter @gpickin so we can coordinate work, and make this a successful project.
What is a Koan - Where did it start?
The Koans walk you along the path to enlightenment in order to learn XXXX. The goal is to learn the XXXX language, syntax, structure, and some common functions and libraries. We also teach you culture. Testing is not just something we pay lip service to, but something we live. It is essential in your quest to learn and do great things in the language. (Taken from Neo-Ruby_Koans readme) - Replace XXXX with the language or tool the Koans are built for.
Coldfusion Koans (created by Ryan Anklam @bittersweetryan) was the inspiration for the ColdBox koans, and is listed on the 2nd page, which is great because usually ColdFusion does not appear high on searches across all languages.
The Idea - Red, Green, Refactor
In test-driven development the mantra has always been red, green, refactor. Write a failing test and run it (red), make the test pass (green), then look at the code and consider if you can make it any better (refactor).
While walking the path to enlightenment you will need to run the koan and see it fail (red), make the test pass (green), then take a moment and reflect upon the test to see what it is teaching you and improve the code to better communicate its intent (refactor).
What Inspired the Ruby Koans
According to the Neo-Ruby_koans Readme
A special thanks to Mike Clark and Ara Howard for inspiring this project. Mike Clark wrote an excellent blog post about learning Ruby through unit testing. This sparked an idea that has taken a bit to solidify, that of bringing new rubyists into the community through testing. Ara Howard then gave us the idea for the Koans in his ruby quiz entry on Meta Koans (a must for any rubyist wanting to improve their skills). Also, “The Little Lisper” taught us all the value of the short questions/simple answers style of learning.
- Mike Clark’s post www.clarkware.com/cgi/blosxom/2005/03/18
- Meta Koans - rubyquiz.com/quiz67.html - Link is broken
- The Little Lisper - www.amazon.com/Little-LISPer-Third-Daniel-Friedman/dp/0023397632