2013-01-22 73 views
1

我需要編寫一些單元測試,因爲我必須用一些虛擬數據來模擬結果集和記錄。我不知道如何初始化和實例化它們。請幫忙如何在Jooq中初始化並創建結果集和記錄?

在此先感謝。

+0

您能否對您的要求更具體一點?例如。你正在使用什麼樣的模擬框架,你的測試看起來像什麼等等?另外,你到目前爲止嘗試過什麼?另外,通過'ResultSet',你的意思是JDBC'ResultSet'還是'org.jooq.Result'? –

回答

2

jOOQ有一些內置的模擬功能,請參閱本手冊的JDBC mocking for unit testing一章,它可能是您正在查找的內容。

然而,簡單地創建一個jOOQ的ResultRecord,您可以使用該DSLContext

// Create the record using the jOOQ generated classes and set a property 
MyTableRecord record1 = DSL.using(configuration).newRecord(MY_TABLE); 
record1.setValue(MY_TABLE.MY_PROPERTY, "value"); 

// or simply... 
MyTableRecord record2 = new MyTableRecord(); 
record2.setMyProperty("value"); 

// Then you can populate the Result 
Result<MyTableRecord> result = DSL.using(configuration).newResult(MY_TABLE); 
result.add(record1); 
result.add(record2); 

你還別說ResultSet,如果你的意思是在JDBC ResultSet,那麼它可能會有點嘲笑它更復雜。相反,我建議DbUnit,這不是JDBC類的模擬,但你可以幫助你設置你的數據庫進行測試,這可能會幫助你獲得與嘲笑JBDC類相同的效果。