Not currently logged in. Login now.

Libraries for Category 'Testing'

Functional
FakerFaker is a port of Ruby Faker library to the clojure programming language.

It is useful when you want to generate fake but good-looking data, such as in test scenarios or staging servers.
DibbleInferential database seeding in Clojure
StereotypeA fixtures library for setting up test data in Clojure
SimulantSimulant is a library and schema for developing simulation-based tests.
Unit Testing
LazytestLazytest aims to be a generic library that can support many different modes and styles of testing. It defines a few generic representations for executable tests (see "Lazytest Internals", below). Any testing code that can be compiled into these representations can take advantage of Lazytest's running and reporting tools.
Ring-MockRing-Mock is a library for creating Ring request maps for testing purposes.
test-thisPowerful test runner for clojure

test-this allows you to run your clojure.test tests easily. Some of the features are:

* Fine-grained selection of which namespaces and test functions to run
* Automatically reload modified files
* No changes to source code needed, use all your clojure.test tests with all its features (including proper handling of fixtures)
* Extensible
* Easy to use.
ClojureCheckClojureCheck is an addon for clojure.test. It adds property based testing to clojure.test following the lines of [QuickCheck][qc] for Haskell.
expectationsexpectations is a minimalist's testing framework

* simply require expectations and your tests will be run on JVM shutdown.
* what you are testing is inferred from the expected and actual types
* stacktraces are trimmed of clojure library lines and java.lang lines
* focused error & failure messages
ShrinkAn implementation of shrinking, for use in finding the simplest possible failure case in generative test failures. Based off of Haskell's QuickCheck, and Scala's ScalaCheck

Say you have found a test case that fails for the inputted value of 4. The shrink function will return a sequence of integers, [0 2 -2 3 -3], that you can try as inputs to that failing test case. The aim being to identify the smallest possible failure case, which you will then report to the user.
test.generativeTest data generation and execution harness.
peanoThe goal of this project is to make it as easy as possible to construct test data, including hierarchical data with constraints on how datum X can be used with datum Y.
data.generatorsGenerators for random Clojure data.
zombieA Clojure framework for declarative semantic data transformation.

Sometimes during testing, concrete values don't matter. All that matters is semantics. Capture the essence of your test cases with zombie.
cljunitJUnit test integration for Clojure.

The purpose of cljunit is to provide a convenient way to write JUnit tests that test Clojure namespaces. This is very useful if, for example, you want to test Clojure code within a Java IDE like Eclipse that has integrated JUnit testing facilities.
replayInstant test suites from repl transcripts!
NevermoreNevermore is a Clojure library for writing tests that check your code's sanity.
BDD
MidjeMidje is a test framework for Clojure. I created it to support top-down as well as bottom-up testing, to encourage readable tests, to provide a smooth migration path from clojure.test, to support a balance between abstraction and concreteness
ClojureGivenClojureGiven is a port of Jim Weirich's rspec-given BDD test framework to Clojure. ClojureGiven is implemented on top of clojure.test through a set of macros that provide a basic Given/When/Then notation.
specljA TDD/BDD framework for Clojure, based on RSpec.
storiesFreeform BDD lib for Clojure
Web Testing
clj-webdriverThis is a Clojure library for driving a web browser using Selenium-WebDriver as the backend. Credits to mikitebeka/webdriver-clj for the initial code for this project and many of the low-level wrappers around the WebDriver API.
kerodon kerodon is an interaction and testing library for ring html based apps. It is intented to look like the interaction a user would have. It is inspired by capybara.
Mocking
   No libraries have been added for this subcategory

Split Testing
touchstoneA Clojure split-testing library

Split-testing is great for conversion optimization. We should all be doing more of it. But traditional A/B tests can be a nuisance to setup and monitor.

Touchstone is an attempt to bring dead-simple split-testing to any Clojure web application. It uses multi-armed bandit techniques to provide fast, accurate, low-maintenance conversion optimization.
bestcaseBestcase is an A/B and multivariate testing library for Clojure.
clj-banditA simple Clojure library for multi-armed bandit optimisation.

Algorithms are implemented following "Bandit Algorithms for Website Optimization" by John Myles White.