Of all the strange new languages gaining popularity today, Clojure, with its roots in the alien world of Lisp, may well be the strangest. It is also, its proponents insist, by far the most powerful. They'll show you weird and incomprehensible proofs of this—macros, lazy lists, monads, what have you—that may well send academics into orgies of rapturous debate, but the question always remains: "does this have any real world application at all, or are you all just geeking out on us?"
Let's find out! In this presentation, you'll learn how to build a simple web app using ClojureScript on the client side and the Noir web framework on the server. You'll see how Clojure can help you tie your client code and your server code together, giving beautiful interoperability and code reuse. We might even have a go at a macro or two outside of the lab.
This is a basic introduction to integration testing with cucumber. In it, I describe how to use cucumber and rspec to implement a feature in a web application, emphasizing the importance of writing tests before code, which is often referred to as TDD (test-driven development) or BDD (behavior-driven development, a refinement of the original TDD).