Skip to content

This Koans Project will allow you to apply BDD skills to learning about ColdBox HMVC

Notifications You must be signed in to change notification settings

coldbox-samples/ColdFusion-Coldbox-Koans

 
 

Repository files navigation

ColdBox Koans

Introduction

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

Quick Installation

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.

About ColdBox Koans

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.

More Koans Coming Soon

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.

Documentation

All the documentation you will need to complete the Koans sections can be found in the following links:

ColdBox

Testbox

Koans History

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.

BDD - Behavior-Driven Development

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

References


THE DAILY BREAD

"I am the way, and the truth, and the life; no one comes to the Father, but by me (JESUS)" Jn 14:1-12

About

This Koans Project will allow you to apply BDD skills to learning about ColdBox HMVC

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • ColdFusion 99.9%
  • HTML 0.1%