我們正在運行rspec測試來檢查要加載的特定庫/模型。具體而言,我們想要測試創建對象時,我們會返回正確的Watir對象:用於FF和Chrome的Watir :: Browser,以及用於Safari的Watir :: Safari。如何在ruby/rspec中卸載'require'?
我們已經試過這樣做:Unload a ruby class但它只是刪除了常量,這不是我們想要的。
通常情況下,這不會是一個問題,但由於safariwatir和watir-webdriver的兼容性問題,情況並非如此。它有錯誤了:
superclass mismatch for class UnknownObjectException
並以「修復」這一點,我們基本上必須選擇要加載的webdriver的(因此原來的邏輯 - 我們計劃測試)
是否有解決辦法這個?我們的測試通過,而不僅僅是當作爲一個整體運行。所以我們基本上不得不跳過一步來繞過需求問題。
謝謝!這仍然在擾亂我們。我們有條件的要求繼續,但我們正在努力測試這些條件。在這種情況下,當rspec通過測試用例時,先說它檢查是否加載了watir-webdriver,然後在它試圖測試是否需要safariwatir的時候,watir-webdriver仍然被加載,所以它會拋出錯誤 – corroded 2012-03-23 05:52:31
我'有點困惑,你用rspec測試你的測試代碼嗎?這可能是你需要從這些測試中省略的一個方面,或許通過某種日誌記錄或一些調試放置語句「我正在加載Safari」等來確認它正在工作。 – 2012-03-27 16:27:24