浣跨敤dbunit錛屽彲浠ュ府鍔╂垜浠湪嫻嬭瘯涓淮鎶ゆ暟鎹紝涔熷彲浠ヨ緟鍔╂垜浠殑嫻嬭瘯銆?/p>
棣栧厛褰撶劧鏄笅杞絛bunit, http://dbunit.sourceforge.net
鎴戞祴璇曠敤鐨勬槸 MYSQL 5.0 銆?/p>
寤虹珛鏁版嵁搴擄細
create table test1(
id int not null auto_increment,
user_name varchar(50),
primary key(id)) engine=innodb;
淇濆瓨鏁版嵁鐨剎ml鏂囦歡錛?
xml 浠g爜
- <dataset>
- <test1 user_name="tom"/>
- <test1 user_name="John"/>
- <test1 user_name="Rose"/>
- </dataset>
棣栧厛寤虹珛涓涓?JunitTest 鐨勭被錛?/p>
java 浠g爜
- public class Test2 extends TestCase {
-
- protected void setUp() throws Exception {
-
- }
-
- protected void tearDown() throws Exception {
-
- }
-
- }
鎴戜笉鍠滄緇ф壙dbunit鐨勭被錛屾墍浠ユ垜浠湪JunitTest 鐨勭被閲屽鍔犺繖涓彉閲忥細
java 浠g爜
- public class Test2 extends TestCase {
-
- private IDatabaseTester databaseTester;
-
- protected void setUp() throws Exception {
-
- }
-
- protected void tearDown() throws Exception {
-
- }
-
- }
鐒跺悗錛屾垜浠彲浠ヨ鍐?setUp() 鏂規硶浜嗭紝鏃犻潪灝辨槸榪炴帴鏁版嵁搴擄紝鎶婃暟鎹掑叆鍒拌〃閲屻?/p>
java 浠g爜
- protected void setUp() throws Exception {
-
- databaseTester = new JdbcDatabaseTester("com.mysql.jdbc.Driver",
- "jdbc:mysql://127.0.0.1:3306/test", "root", "123");
-
- IDataSet dataSet = getDataSet();
-
- databaseTester.setDataSet( dataSet );
- databaseTester.onSetup();
-
- }
-
- protected IDataSet getDataSet() throws Exception
- {
-
- return new FlatXmlDataSet(new FileInputStream(new File("dataset.xml")));
- }
鐒跺悗鏄?tearDown 鏂規硶
java 浠g爜
- protected void tearDown() throws Exception
- {
-
- databaseTester.setTearDownOperation(DatabaseOperation.DELETE_ALL);
- databaseTester.onTearDown();
- }
濂戒簡錛屽噯澶囧伐浣滃畬鎴愪簡錛屼笅闈㈠紑濮嬪啓嫻嬭瘯鏂規硶銆?/p>
java 浠g爜
- public void test1() throws Exception{
-
- ITable test1Table = databaseTester.getDataSet().getTable("test1");
- assertEquals(test1Table.getRowCount(), 3);
-
- }
榪欎釜鏂規硶灝辨槸嫻嬭瘯 test1 琛ㄦ湁澶氬皯鏉¤褰?
java 浠g爜
- public void test2() throws Exception{
-
- ITable test1Table = databaseTester.getConnection().createQueryTable("any_name",
- "select user_name from test1 where user_name='tom'");
-
- assertTrue(test1Table.getRowCount()==1);
-
- }
榪欎釜鏂規硶嫻嬭瘯鏄惁鏈?user_name='tom' 榪欎釜璁板綍.
閭d箞鑷姩澧炲姞瀛楁鎬庝箞鍔炲憿錛?
鍙鍦?tearDown 閲屽鍔?
java 浠g爜
- databaseTester.setTearDownOperation(DatabaseOperation.TRUNCATE_TABLE);
灝卞彲浠ヤ簡錛?/td>
|