Merge branch 'master' into release/0.9

This commit is contained in:
Michael Miller 2019-08-28 11:11:51 -06:00
commit bfd298c0f2

View file

@ -2,9 +2,9 @@ Spectator
========= =========
Spectator is a fully-featured spec-based test framework for Crystal. Spectator is a fully-featured spec-based test framework for Crystal.
It provides more functionality from [RSpec](http://rspec.info/) It mimics features from [RSpec](http://rspec.info/).
than the built-in Crystal [Spec](https://crystal-lang.org/api/latest/Spec.html) utility. Developers coming from Ruby and RSpec will feel right at home.
Additionally, Spectator provides extra features to make testing easier and more fluent. Spectator provides additional functionality to make testing easier and more fluent.
**Goal:** **Goal:**
@ -34,8 +34,8 @@ If it doesn't exist already, create a `spec/spec_helper.cr` file.
In it, place the following: In it, place the following:
```crystal ```crystal
require "spectator"
require "../src/*" require "../src/*"
require "spectator"
``` ```
This will include Spectator and the source code for your shard. This will include Spectator and the source code for your shard.
@ -309,6 +309,15 @@ Items not marked as completed may have partial implementations.
- [X] `change[.by|.from[.to]|.to|.by_at_least|.by_at_most]` - [X] `change[.by|.from[.to]|.to|.by_at_least|.by_at_most]`
- [X] `have_attributes` - [X] `have_attributes`
- [ ] Compound - `and`, `or` - [ ] Compound - `and`, `or`
- [ ] Mocks and Doubles
- [ ] Mocks (Stub real types) - `mock TYPE { }`
- [ ] Doubles (Stand-ins for real types) - `double NAME { }`
- [ ] Method stubs - `allow().to receive()`, `allow().to receive().and_return()`
- [ ] Spies - `expect().to receive()`
- [ ] Message expectations - `expect().to receive().at_least()`
- [ ] Argument expectations - `expect().to receive().with()`
- [ ] Message ordering - `expect().to receive().ordered`
- [ ] Null doubles
- [ ] Runner - [ ] Runner
- [X] Fail fast - [X] Fail fast
- [ ] Test filtering - by name, context, and tags - [ ] Test filtering - by name, context, and tags
@ -342,7 +351,7 @@ Contributing
Please make sure to run `crystal tool format` before submitting. Please make sure to run `crystal tool format` before submitting.
The CI build checks for properly formatted code. The CI build checks for properly formatted code.
[Ameba](https://github.com/veelenga/ameba) is run to check for code style. [Ameba](https://crystal-ameba.github.io/) is run to check for code style.
Tests must be written for any new functionality. Tests must be written for any new functionality.
Macros that create types are not as easy to test, Macros that create types are not as easy to test,