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