代码之家  ›  专栏  ›  技术社区  ›  nicholaides

rspec:difference between“should=…”and“should eql(…)”

  •  10
  • nicholaides  · 技术社区  · 16 年前

    在RSPEC中,使用 should == ... 和 should eql(...) ?我注意到rspec文档总是使用 eql 但是 == 打字少,易读。我错过了什么?

    2 回复  |  直到 16 年前
        1
  •  16
  •   Jörg W Mittag    16 年前

    这相当简单,真的: should == 发送 == 给受试者的信息, should eql 发送 eql? 给受试者的信息。换句话说:两个不同的测试发送两个完全不同的消息,它们调用两个完全不同的方法,从而完成两个完全不同的事情。特别地, EQL? 比…更严格 = 但不那么严格 equals? .

        2
  •  15
  •   Marc-André Lafortune    16 年前

    它们通常是等效的,但并不总是:

    1 ==   1.0 # => true
    1.eql? 1.0 # => false