在ruby中,有沒有一種方法可以在定義變量或常量時「取消」定義?是否有可能取消定義一個變量在紅寶石?
在我們的軌道environemnts,我們定義了三個contants一個是true
,根據環境:TESTING
,DEVELOPMENT
,或PRODUCTION
。然後,在控制器代碼中,我們使用defined?
來查看我們所處的環境,即:defined? PRODUCTION
。
現在,我想單元測試一些特定於環境的行爲。我最初的嘗試是在我的測試中設置合適的常量,然後在拆卸過程中重置它們。但是,我不知道如何重置DEVELOPMENT
和PRODUCTION
,使defined?
返回false。
顯然,一個解決辦法是隻檢查,看看是否合適的常數也此外,如果它被定義檢查真實的,但是這將導致不得不觸及現有的代碼中有相當。
編輯:我意識到這絕對不是正確的做事方式。唉,改變它是一項不重要的任務,所以我正在尋找一種簡單的方法來單元測試現在有什麼。另外,我也只是對低級語言問題是否可以取消定義變量/常量感到好奇。
這正是我一直在尋找,哈克或沒有(它的單元測試代碼,所以我並不十分擔心,它是私有的)。謝謝! – 2008-12-04 01:37:34