Skip to content

farcaller/shiny

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ooh, shiny!

Build Status

Shiny makes you less distracted with copying over initialization code in test cases. It also has a fancy syntax similar to Ruby's RSpec or Objective-C's Kiwi.

Installation

Install in the usual way with cargo.

Usage

Add the shiny crate:

#![feature(plugin)]
#![plugin(shiny)]

Write your shiny test case:

#[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 each generated test case function. 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.

About

a shiny test framework for rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages