Giter VIP home page Giter VIP logo

cljs-test's Introduction

UPDATE 3/18/2015: this library is no longer under active development -- we'd recommend checking out clojurescript.test or ClojureScript's new built-in cljs.test

cljs-test Build Status

Simple testing library for ClojureScript, mirroring clojure.test as much as possible. Each deftest runs after declaration and prints test statistics to console. Intended usage is with phantomJS and lein cljsbuild test to get a readable test summary. In the future, we'll add some HTML scaffolding to support visual test results in a browser.

Note: This is an alpha release and much left to do, will add things like support tests with asynchronous elements (defasynctest) which take completion callbacks. Also visual HTML representation.

Usage

(ns mytest-ns
  (:require cljs-test.core)
  (:use-macros [cljs-test.macros :only [deftest is= is]]))

(deftest simple-case
  (is= 1 (+ 0 1))
  (is true)
  (is nil))

Add a section in your project.clj as follows:

  {:builds
   {:test {:source-paths ["src" "test"]
           :compiler {:output-to "target/unit-test.js"
                      :optimizations :whitespace
                      :pretty-print true}}}
   :test-commands {"unit" ["phantomjs" "target/unit-test.js"]}}

Testing in the browser

To generate the test runner,

$ lein clean
$ lein cljsbuild once test

Add an HTML file (recommended resources/test.html) with the following content:

<html>
  <body>
    <script src="../target/unit-test.js"></script>
  </body>
</html>

Open the HTML file in a browser to execute the tests.

Testing using PhantomJS

Run

$ lein clean
$ lein cljsbuild test

License

Copyright (C) 2013 Prismatic. Distributed under the Eclipse Public License, the same as Clojure.

cljs-test's People

Contributors

aria42 avatar cpetzold avatar ianconsolata avatar mva avatar rm-hull avatar semperos avatar stumitchell avatar w01fe avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.