waterlink / spec2-mocks.cr

This library connects spec2.cr and mocks.cr, effectively enabling 'have_received' expectation for spec2.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

spec2-mocks

This is an adapter of mocks.cr for spec2.cr.

Installation

Make sure, that you have correct versions of spec2 and mocks in you shard.yml in depdendencies section.

Next, add this to your application's shard.yml:

dependencies:
  spec2-mocks:
    github: waterlink/spec2-mocks.cr
    version: ~> 0.4

Usage

require "spec2-mocks"

This additionally adds before { Mocks.reset } to each top-level Spec2.describe.

Using have_received matcher

expect(person).to have_received(say("hello world"))

Using receive matcher

expect(person).to receive(say("hello world"))

This uses spec2's delayed { ... } feature to verify expectations after the end of the example.

Development

After cloning the project:

cd spec2-mocks.cr
crystal deps   # install dependencies
crystal spec   # run specs

Just use normal TDD development style.

Contributing

  1. Fork it ( https://github.com/waterlink/spec2-mocks.cr/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

  • waterlink Oleksii Fedorov - creator, maintainer

About

This library connects spec2.cr and mocks.cr, effectively enabling 'have_received' expectation for spec2.

License:MIT License


Languages

Language:Crystal 100.0%