# So many Expectations...

Expectations are the heart of RSpec

The main rule is to only have one expectation to each example and the reason for this is that the test suite will stop running if the first expectation fails. If you only have one expectation for every example then the test suites will run independently.

![](https://939397000-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L9htzNbAvfpKcVkZT-D%2F-L9hu-eH5xWIUnJXzT0n%2F-L9hu1QVkT7ahTHemWTp%2Fcarbon%20\(27\).png?generation=1523336097399617\&alt=media)

Some more examples

![](https://939397000-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L9htzNbAvfpKcVkZT-D%2F-L9hu-eH5xWIUnJXzT0n%2F-L9hu1QqPlNZYca1l_vl%2Fcarbon%20\(30\).png?generation=1523336097515662\&alt=media)

`eq`

,&#x20;

`match`

,&#x20;

`be`

&#x20;and&#x20;

`match_array`

&#x20;are the verbs that we have provided and they&#x20;

_are_

&#x20;the matchers.

The matchers are used as arguments to the `.to` keywords.
