From 1bc6a37809e0a707263a47234bab9872072c523c Mon Sep 17 00:00:00 2001 From: yangjianzhou Date: Sat, 18 Nov 2017 11:17:43 +0800 Subject: [PATCH 1/2] update .gitignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index 8e291432..17696729 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,9 @@ bin .DS_Store .idea *.iml +*.ipr +*.iws +*/*.iml +*/*.iws +*/*.ipr + From c39dd26c0108e6c3300321308e8b777a9b7d4f03 Mon Sep 17 00:00:00 2001 From: yangjianzhou Date: Sat, 18 Nov 2017 12:11:45 +0800 Subject: [PATCH 2/2] add XlsDataSetLoader and test it --- .../sample/service/PersonServiceTest.java | 2 +- .../sample/service/XlsDataLoaderTest.java | 37 ++++++++++++++++++ ...est-context.xml => applicationContext.xml} | 0 .../sample/service/sampleData.xls | Bin 0 -> 5632 bytes .../dataset/XlsDataSetLoader.java | 23 +++++++++++ 5 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/XlsDataLoaderTest.java rename spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/{PersonServiceTest-context.xml => applicationContext.xml} (100%) create mode 100644 spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/sampleData.xls create mode 100644 spring-test-dbunit/src/main/java/com/github/springtestdbunit/dataset/XlsDataSetLoader.java diff --git a/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/PersonServiceTest.java b/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/PersonServiceTest.java index 71220e54..234c86ca 100644 --- a/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/PersonServiceTest.java +++ b/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/PersonServiceTest.java @@ -18,7 +18,7 @@ import com.github.springtestdbunit.sample.entity.Person; @RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration +@ContextConfiguration({"classpath:com/github/springtestdbunit/sample/service/applicationContext.xml"}) @TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DbUnitTestExecutionListener.class }) public class PersonServiceTest { diff --git a/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/XlsDataLoaderTest.java b/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/XlsDataLoaderTest.java new file mode 100644 index 00000000..0765a9ea --- /dev/null +++ b/spring-test-dbunit-sample/src/test/java/com/github/springtestdbunit/sample/service/XlsDataLoaderTest.java @@ -0,0 +1,37 @@ +package com.github.springtestdbunit.sample.service; + +import com.github.springtestdbunit.DbUnitTestExecutionListener; +import com.github.springtestdbunit.annotation.DatabaseSetup; +import com.github.springtestdbunit.annotation.DbUnitConfiguration; +import com.github.springtestdbunit.dataset.XlsDataSetLoader; +import com.github.springtestdbunit.sample.entity.Person; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.TestExecutionListeners; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.test.context.support.DependencyInjectionTestExecutionListener; + +import java.util.List; + +import static org.junit.Assert.assertEquals; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration({"classpath:com/github/springtestdbunit/sample/service/applicationContext.xml"}) +@DbUnitConfiguration(dataSetLoader= XlsDataSetLoader.class) +@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, DbUnitTestExecutionListener.class }) +public class XlsDataLoaderTest { + + @Autowired + private PersonService personService; + + @Test + @DatabaseSetup("sampleData.xls") + public void testFind() throws Exception { + List personList = this.personService.find("wang"); + assertEquals(1, personList.size()); + assertEquals("wu", personList.get(0).getLastName()); + } + +} diff --git a/spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/PersonServiceTest-context.xml b/spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/applicationContext.xml similarity index 100% rename from spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/PersonServiceTest-context.xml rename to spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/applicationContext.xml diff --git a/spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/sampleData.xls b/spring-test-dbunit-sample/src/test/resources/com/github/springtestdbunit/sample/service/sampleData.xls new file mode 100644 index 0000000000000000000000000000000000000000..8fe26ad3557f51fc03c80667f519f0fd73cf2f49 GIT binary patch literal 5632 zcmeHLT})g>6h3#CrI+%zP^j8kyhXb}0b|<-F{ZMVqBaU8h%uTbc7cViU3ST`gleL0 zX`A@aCN+KVg~T)=Mq}bnH2R>4@a6-JM$-gMRBC)_^kHi>rU|fq-?_Wxc4fn&Xi~%3 zd^2;;%$YND=FFLy{ql>7`HSywyCPZiptxlzRV0NDzJaot`SyyqP$q9Fl}csUC~nX# zWP!!>Sh&3XgHB%SX}~ zFY;->TAL01%NAJ8R;+j0pYfY<+zn*!f5v+5|II)#Py&csG`%yAv65KL*SGk{Rx?jByjr?M@ zAmfeXd$(W5eooU`P0NrP^0CT%tDHUX%g@n1_44`jCh!<-h<_moNLaFJ(QdtJYYIwa zis$Pi9bFwgZI93EzL}EWQx>#jXxbv515^HQ`SEG3mD=axv)7f{|9|;Yu&KrAr72_Q zM%xa_Y<@!yep3$q?i~E0zwj@(u%{A|V(v}2HLpk%YF?Qr(0of`ljc@>*`w1bOfnL43)2tiQ%>xY;v^&ZXSmy& za?(J=H>V9hQoqz(V~j`4Hxc_y#B}oyg#871OwR$A#FEWcM|7wwIypG3_}!ETjk)O14IR^j~FDdKDQ z)%J#lgQHegaNO#N4hJGlJ;9-|a3EIe+q2i#RxJ(UTeV$xU?^z$x=*Qs)0+A)n0-oD zTk9O!;w3B| z+m!3E!j_y#Ir~;Q17k1OCx=}}IX*rp$1#+vUe_dAo&=2$WnPr2gB9__c!+j z`hwwbP%U*JG&pDqh`eo&e}BrvbXgd4Q&$1Zep;0WS8301Z41F!sy>H0>O~`{_>r@2E+DIu-!- ze|1r$203+-*0aq1_X2)Ep8hVv%+DlEe&mGUO-Fx9R*stmOI|sq@WbuxG$LP)u2`@ld&N&w!)i-E8-+!t<%ZG0$aum4MnLY6o zUY{{JE`9nAJ??0gU$GLi<$UQkneCR3WQYz0GNc`vhvAEdF^1=C<{DD!=X|J}l#eL= z?@+p-0li@f<|DRZ8-_+(vz@NkD2r*~n{PFeN1l)|%zqfSUcUVg;a`A3T@!NRxD7|a z$xZcX{oJql&VMJ`w$NEX9ytgN{W^xA{sXbL@wEJn`TL+ZuG-fpS*!h>@9*^(!9UUe ECzK{P8~^|S literal 0 HcmV?d00001 diff --git a/spring-test-dbunit/src/main/java/com/github/springtestdbunit/dataset/XlsDataSetLoader.java b/spring-test-dbunit/src/main/java/com/github/springtestdbunit/dataset/XlsDataSetLoader.java new file mode 100644 index 00000000..0389e170 --- /dev/null +++ b/spring-test-dbunit/src/main/java/com/github/springtestdbunit/dataset/XlsDataSetLoader.java @@ -0,0 +1,23 @@ +package com.github.springtestdbunit.dataset; + +import org.dbunit.dataset.IDataSet; +import org.dbunit.dataset.excel.XlsDataSet; +import org.springframework.core.io.Resource; + +import java.io.InputStream; + +/** + * Created by yangjianzhou on 17-11-18. + */ +public class XlsDataSetLoader extends AbstractDataSetLoader { + + @Override + protected IDataSet createDataSet(Resource resource) throws Exception { + InputStream inputStream = resource.getInputStream(); + try { + return new XlsDataSet(inputStream); + } finally { + inputStream.close(); + } + } +}