Getting Started in the Coldbox Koans The Coldbox Koans are actually built right into a Coldbox 5 application. The idea of this koans is that you can test your knowledge as you learn, using a real app. You will be able to learn and play with most of the framework features by making our tests pass. For that we use Testbox, our own testing framework. This app contains the following sections that will guide you and help you become a ColdBox expert.
- Models Koans
- Event Handlers Koans
- Layouts and Views Koans
- Interceptors Koans
To get started we recommend using CommandBox to install the required dependencies.
This app contains a box.json
so it can leverage CommandBox for its dependencies.
Just go into your app directory and type:
box install
This will setup all the needed dependencies the app. You can then type:
box server start
CommandBox will start the server and it will open the app using and available port for you.
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.
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.
This is where you have to navigate the Coldbox app, to find handlers, and views, to modify them to make the tests pass.
This is where you have to navigate the Coldbox app, create new handlers, actions, and views, to make the tests pass.
We hope we can make this project bigger and robust so you can learn all the great features of ColdBox and how you can create a powerful app without losing your mind. We will be adding more Koans including, but not limited to the following:
- Modules Koans
- Security Koans
If you would like to contribute to the project, feel free to contact me [email protected] or any of the Ortus team so we make this project even more powerful.
Thanks Gavin Pickin for creating the first version of ColdBox Koans.
All the documentation you will need to complete the Koans sections can be found in the following links:
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.
The first Koans is thought to be the Ruby Koans. However, due to the success of this leraning style you will see them for most languages, Javascript, Python, Clojure, ASPNET, and a lot more.
Behavior-driven development is an extension of test-driven development development that makes use of a simple, domain-specific scripting language. These DSLs convert structured natural language statements into executable tests. The result is a closer relationship to acceptance criteria for a given function and the tests used to validate that functionality. As such it is a natural extension of TDD testing in general.
- 2003: agiledox, the ancestor of BDD, is a tool generating technical documentation automatically from JUnit tests, written by Chris Stevenson
- 2004: in order to test his hypotheses about de-emphasizing "test" terminology in favor of "behavior", Dan North releases JBehave
- 2006: in collaboration with Chris Matts, North proposes the given-when-then canvas to expand the scope of BDD to business analysis and documents the approach in "Introducing BDD"
- 2006-2009: several new tools are released confirming the community's investment in BDD, such as RSpec or more recently, Cucumber and GivWenZen
- Ruby Koans - http://rubykoans.com/
- Collection of Koans - https://changelog.com/posts/a-huge-list-of-koans
- https://www.agilealliance.org/glossary/bdd/
"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12