2011-10-16 62 views
9

是否有替代Ruby's VCR的java?Ruby的vcr替代Java?

據我所知,使用錄像機的好處是巨大的,您可以運行「集成測試」並記錄結果,將它們存儲在本地的一些地方。現在從下次您需要運行測試時,您可以使用第一次運行記錄的數據來模擬實際的數據庫命中。

  1. 在java世界裏有類似的東西嗎?
  2. 如果不是,如果我嘗試實施它,可能會遇到什麼樣的瓶頸?

VCR只記錄HTTP交互,但這樣的方法來完成錄製,說什麼樣的數據庫操作/函數調用,而我不需要測試其他球隊的API,基本上這會減輕我從通過自動化嘲笑這麼多事情。

Here是VCR與Ruby的單元測試的例子:

+0

如果您想要寫入數據庫的可重複測試,請查看[dbunit](http://www.dbunit.org/)。 –

回答

9

退房betamax。這是一個古怪的錄像機端口。我相信它應該可以在任何語言的JVM上工作。

至於使用類似VCR的庫來記錄/回放數據庫交互:Sven Fuchs嘗試了這種方法,並使用didn't see much benefit to it

+0

感謝回覆,在Sven Fuchs的情況下,自從他使用普通的rails項目以來,數據庫init時間可能會非常低。但在我的情況下,如果我試圖繞過數據庫(在Java中),我將獲得10分鐘的初始化時間!我想我會嘗試在某個時候寫一個java端口,看看它是如何工作的。不幸的是HTTP交互記錄不是我關心的問題。 – zengr

+0

betamax鏈接已死,更新鏈接到github - > https://github.com/betamaxteam/betamax –

0

退房anystub。這是java-lib。它允許記錄/重放任何String get(String... keys)調用,而不僅僅是HTTP trafic。