2011-07-28 35 views
0

我正在使用Ruby on Rails 3.0.7 Cucumber 1.0.1和Oracle作爲數據庫。我有我自己的本地用戶/模式用於我的開發數據庫,​​但我也以只讀方式連接到另一個Oracle數據庫。有人作爲我的工作創建了一個gem,允許我與其他數據庫交談並訪問其模型。假設我們稱之爲其他數據庫伺服器。然後,我可以執行類似Servo::ModelName.all和所有其他常規呼叫。Cucumber @javascript打破Oracle SQL調用

由此生成的Oracle如下所示:SELECT * FROM "SERVO"."MODELNAMES";請注意,它附加了SERVO數據庫名稱。

現在,我寫了一個黃瓜測試,有時,在我的自定義步驟中,使用伺服。這一切都很好。我正在編寫的新場景使用@javascript標籤。如果任何步驟(在後臺或在情景中)不是使用伺服,那麼它運行良好。但是,如果我使用伺服,它會中斷。正在生成的Oracle SQL突然SELECT * FROM "MODELNAMES";,它不再知道其他數據庫。

那麼,任何想法爲什麼會發生這種情況?爲什麼@javascript突然更改正在生成的SQL?除了啓動Firefox之外,我找不到任何有關它的功能的好文檔。

我相信其他人可能想知道更多的信息,但我不想淹沒這個問題,所以讓我知道你是否想要更多的細節。

回答

1

@javascript將在應用程序端引入的主要區別是,您正在運行Web服務器,而不是直接通過機架路由請求。我會用這些知識進行調查,看看你是否在初始化器中做了什麼或者是否會受到不同上下文的影響。

+0

感謝您的信息。我似乎無法在'@ javascript'的工作方式上找到任何有用的東西。我還沒有解決我的問題的任何運氣,但謝謝你的信息。 – MrDanA

+0

+1爲您的時間和幫助。它確實幫助我們開始調查正確的解決方案。實際上,這與黃瓜有關,它處理ActiveRecord的方式。應該有一個拉動請求很快進入。我們現在已經給猴子打了補丁,讓它再次運行。謝謝! (也是+ rep,因爲我打算把你的答案作爲正確的答案來結束它,乾杯!) – MrDanA