Book Image

Clojure Web Development Essentials

By : Ryan Baldwin
Book Image

Clojure Web Development Essentials

By: Ryan Baldwin

Overview of this book

Table of Contents (19 chapters)
Clojure Web Development Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Writing a high-level integration test


I've always been weary of writing integration tests in the manner of unit tests because when they fail they're difficult to diagnose. All that a failed unit-style integration test tells us is that something, somewhere, broke down. In an ideal world, you would also have a unit test, which when an integration test fails, will also fail. However, rare is the team filled with unit test passion such that a beautiful pairing of failures exist. So, while we will see how we can use James Reeves' ring-mock to do a full-fledged integration test, we must also keep in mind that integration tests on their own are not enough.

For this example, we are going to add an additional test to the hipstr.test.handler namespace that was generated by Luminus when we generated our project. You'll see something like this:

(ns hipstr.test.handler
  (:use clojure.test
           ring.mock.request
           hipstr.handler))

(deftest test-app
  (testing "main route"
    (let [response...