Это довольно просто, на самом деле: should ==
отправляет сообщение ==
субъекту теста, should eql
отправляет сообщение eql?
субъекту теста. Другими словами: два разных теста отправляют два совершенно разных сообщения, которые вызывают два совершенно разных метода и, таким образом, делают две совершенно разные вещи. В частности, eql?
является более строгим, чем ==
, но менее строгим, чем equals?
.