我有我認爲是一個相當常見的情況:我想通過FitNesse測試一個Web服務,同時也能夠從Web服務後面的數據庫注入和讀取數據。例如,我想要執行以下操作:在FitNesse中可以在Java和FitSharp測試頁面之間共享變量或數據嗎?
1)將記錄直接保存到數據庫;然後
2)使用Web服務更新創建的記錄;那麼
3)檢查數據庫記錄,看它是否已被正確更新。
美中不足的是數據庫是SQL Server,而且我正在針對本地計算機上的SQL Server實例(localdb)進行開發。所以我需要FitNesse才能連接到(localdb)。
據我所見,RestFixture用於測試Web服務,只能在Java版本的FitNesse中運行。但是,用於連接數據庫的Java版DbFit只能使用Microsoft的JDBC驅動程序連接到SQL Server。根據this Stackoverflow question,MS JDBC驅動程序不支持命名管道,因此無法連接到(localdb)。因此,我將不得不使用適用於(localdb)的DbFit的FitSharp(.NET)版本。
現在的問題是Java RestFixture與FitSharp DbFit的結合。例如,如果我通過DbFit在數據庫中創建了一條新記錄,我想回讀剛剛創建的記錄的標識值,並使用該值標識要通過Web服務更新的記錄。所以我需要將一個變量或一些信息從FitSharp DbFit測試頁面傳遞到Java RestFixture測試頁面。這可能嗎?
我看到(在http://stackoverflow.com/questions/11345746/connecting-to-sql-server-localdb-using-jdbc)jTDS確實支持到localdb的JDBC連接。這是你的選擇嗎? –
@FriedHoeben:不幸的不是。 DbFit的Java版本僅支持SQL Server的Microsoft JDBC驅動程序。 –