xscDev

Something Something Development

[ANN/WIP] lein-testem: Test your Projects with reduced Configuration Effort

without comments

I’m currently working on lein-testem, a Leiningen plugin designed to automatically detect how to run tests on a project. It will decide which test framework(s) to use and what profile combinations to examine. Head over to the GitHub page for a small example, or – if you dare – try it out by including the following into your ~/.lein/profiles.clj file:

[lein-testem "0.1.0-alpha2"]

You can then run:

$ lein testem

Currently supported are clojure.test and Midje, and maybe Speclj. But don’t misunderstand: You still have to include all plugins/dependencies associated with your test framework – you just don’t have to call them directly any more.

Why?

I want to include regression testing in lein-ancient, a plugin that enables you to check for outdated dependencies and to upgrade those in need. Upgrading should only be finalized if tests pass so I was faced with the problem of how to run existing tests without having to explicitly configure which framework they are based upon. lein-testem’s core functionality will thus end up in lein-ancient at some point.

Other Plans

I want to include common test scenarios (e.g. “test against different Clojure versions”, …) in the future. Ideas are always welcome, so fire away in the comment section!

Written by Yannick

September 5th, 2013 at 3:17 am

Posted in Clojure,Projects