假設我有Car和Mechanic類。汽車有「跑」的方法。機械師出於某種原因需要汽車。然後我寫RSpec規格。在技工中,我定義了一個這樣的假類:用於僞造類常量的RSpec規範的最佳做法或解決方法
class Car; end
和更高版本存根機械使用它的方法。如果我單獨運行測試,所有工作正常。但是當我將兩個測試一起運行時(rspec spec/directory /),我的機械規格使用真正的Car類。
所以。我想這是因爲紅寶石類是「開放」的,我已經爲Car規格加載過一次類。但有沒有更好的方法來做到這一點?什麼是這種情況的最佳實踐?這是否意味着我的代碼需要一些改進,因爲它可能緊密耦合?
我在github上做了一個快速演示:https://github.com/depy/RspecTest
但有時當我需要一些類包含其他的類。在需要之前,我必須僞造「其他」。那個怎麼樣? –
這就是我告訴過你在前一個街區做的行爲。就像你可以有2個讓,每個類有1個,並且在前面的塊上,你可以根據第一個來調用一個存根來返回另一個對象。 –