2011-04-01 28 views

回答

0

據我估計,dbUnit是JUnit的一個擴展,對於這個問題將是一個合適的解決方案。

1

最簡單的方法是使用燈具。

所以,在你單位/功能測試,你可以做

@Before 
public void setup() { 
    Fixtures.deleteAll(); 
    Fixtures.load("data.yml"); 
} 

執行測試之前,這將清除所有的數據出來,並重新加載數據到數據庫中。

要達到同樣的事情,你的Selenium測試,你只是做

#{selenium delete:'all', load:'data.yml'} 

你不能輕鬆地還原數據庫恢復到什麼是現有的單元測試了,不過我建議你測試數據庫應該完全由您的YAML文件填充,以便您完全控制測試的測試數據。

+0

謝謝@Codemwnci您的答案。但是,我的問題的主要興趣是如何保留原始數據。我想我找到了一種使用dbUnit的方法(見下文)。 – astriffe 2011-04-04 20:32:25