這可能是一個天真的問題,但是RSpec的DSL測試是否違反了Demeter的規律?RSpec DSL是否違反了Demeter的規律?
下面是從http://rspec.info RSpec的DSL的例子:
bowling.score.should eq(0)
從Demeter的角度來看,這似乎是我從這個例子沒有區別:
user.department.try(:name)
它根據Avdi格林是違反了德米特法。
來源:http://devblog.avdi.org/2011/07/05/demeter-its-not-just-a-good-idea-its-the-law/
請注意,這是RSpec 1的文檔,可能不是您想要的。 RSpec 2的網址是http://relishapp.com/rspec。 – 2012-03-02 02:40:22
感謝您的更正。我認爲RSpec的例子仍然具有代表性,對吧? – dan 2012-03-02 02:42:33
是的。雖然RSpec 1網站煩惱地缺乏與RSpec 2文檔的任何鏈接,但這會導致很多混淆。 – 2012-03-02 02:44:28