Ooh, shiny! =========== [![Build Status](https://travis-ci.org/farcaller/shiny.svg)](https://travis-ci.org/farcaller/shiny) Shiny makes you less distracted with copying over initializarion code in test cases. It also has a fancy syntax similar to ruby's rspec or Objective-C's kiwi. Installation ------------ Install in usual way with cargo. Usage ----- Add shiny crate: ```rust #![feature(phase)] #[cfg(test)] #[phase(plugin,link)] extern crate shiny; ``` Write your shiny test case: ```rust #[cfg(test)] mod test { describe!( before_each { let awesome = true; } it "is awesome" { assert!(awesome); } it "injects before_each into all test cases" { let still_awesome = awesome; assert!(still_awesome); } ) } ``` all the items from `before_each` are inserted as is into generated test case functions. Mind the final semicolon in `before_each block`! TODO ---- * add support for `context` to do recursive prologue injections * better filtering for test case name License ------- Shiny is distributed under Apache-2.0, see LICENSE for more details.