# Empiric Empiric provides a semantic DSL to construct a fluent interface for test execution libraries. This fluent interface promotes the idea of compressibility of your test logic, allowing for more factoring, more reuse, and less repetition. You can use Symbiote directly as an automated test library or you can use it with other tools such as RSpec, Cucumber, or anything else that allows you to delegate down to a different level of abstraction. Note that Empiric is currently being put together as part of a series of classes I am teaching on micro-framework construction for modern testing practices. ## Installation To get the latest stable release, add this line to your application's Gemfile: ```ruby gem 'empiric' ``` To get the latest code: ```ruby gem 'empiric', git: 'https://github.com/jeffnyman/empiric' ``` After doing one of the above, execute the following command: $ bundle You can also install Empiric just as you would any other gem: $ gem install empiric ## Usage Probably the best way to get a feel for the current state of the code is to look at the [Empiric test script](https://github.com/jeffnyman/empiric/blob/master/test/empiric-script.rb). If you clone the repository, you can see this script in action by running the command `rake scripts:simple`. More details will be forthcoming as the project evolves. ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `bundle exec rake spec:all` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. The default `rake` command will run all tests as well as a RuboCop analysis. To install this gem onto your local machine, run `bundle exec rake install`. ## Contributing Bug reports and pull requests are welcome on GitHub at [https://github.com/jeffnyman/empiric](https://github.com/jeffnyman/empiric). The testing ecosystem of Ruby is very large and this project is intended to be a welcoming arena for collaboration on yet another testing tool. As such, contributors are very much welcome but are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. To contribute to Empiric: 1. [Fork the project](http://gun.io/blog/how-to-github-fork-branch-and-pull-request/). 2. Create your feature branch. (`git checkout -b my-new-feature`) 3. Commit your changes. (`git commit -am 'new feature'`) 4. Push the branch. (`git push origin my-new-feature`) 5. Create a new [pull request](https://help.github.com/articles/using-pull-requests). ## Author * [Jeff Nyman](http://testerstories.com) ## License Empiric is distributed under the [MIT](http://www.opensource.org/licenses/MIT) license. See the [LICENSE](https://github.com/jeffnyman/empiric/blob/master/LICENSE.txt) file for details.