一:測試工做:html
對於dao層的測試咱們使用到了TestNg和dbunit已經spring-test-dbunit框架:java
在使用dbunit工具的使用使用到了一個git
<!-- dbutil測試工具的引入依賴 -->
<dependency>
<groupId>com.github.springtestdbunit</groupId>
<artifactId>spring-test-dbunit</artifactId>
<version>1.2.0</version>
</dependency>github
這個工具框架,頗有用,咱們來看具體的dao層的測試代碼:web
/** * 對dao進行單元測試的類 * classpath:/dbutils_xml/expect.xml * */ @SuppressWarnings("deprecation") @ContextConfiguration(locations = {"classpath:applicationContext.xml", "classpath:dispatcher-servlet.xml" }) //配置事務的回滾,對數據庫的增刪改都會回滾,便於測試用例的循環利用 @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) @Transactional @TestExecutionListeners({DbUnitTestExecutionListener.class, DependencyInjectionTestExecutionListener.class, DirtiesContextTestExecutionListener.class}) // 若是在Spring Test DbUnit中不配置其餘的數據源默認使用Spring容器中id="dataSource"的數據源,Spring Test DbUnit支持配置多數據源。 @DbUnitConfiguration(databaseConnection="pooledDataSource") public class DaoTestByTestNG extends AbstractTestNGSpringContextTests{ @Autowired private GuanzhuMapper guanzhuMapper; @Test @DatabaseSetup(type=DatabaseOperation.CLEAN_INSERT,value="classpath:/dbutils_xml/setup.xml")//setup階段執行clean_insert操做,數據導入到數據庫中,在測試以前執行 @ExpectedDatabase(assertionMode=DatabaseAssertionMode.NON_STRICT,value="classpath:/dbutils_xml/add_expect.xml")//將測試操做後的數據庫數據與指望的xml數據進行比較是否相等,來斷定測試是否經過,assertionMode設置比較的模式。跑完test後執行 @DatabaseTearDown(type=DatabaseOperation.CLEAN_INSERT,value="classpath:/dbutils_xml/setup.xml")//恢復數據庫中的數據,測試以後執行。 public void testDelete() { System.out.println("delete"); int deleteByPrimaryKey = guanzhuMapper.deleteByPrimaryKey(12); } }
第一:使用Spring-Test對Spring框架進行單元測試,須要引入下面的java包spring
<!--spring單元測試依賴 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${springframework}</version>
<scope>test</scope>
</dependency>數據庫
第二:由於採用的TestNg測試框架,沒有使用junit測試框架,因此在編寫的單元測試類都須要繼承AbstractTestNGSpringContextTests瀏覽器
第三:在運行單元測試框架的時候,使用首先dbunit備份數據庫中的真實數據,而後在測試的過程當中使用測試數據,最後單元測試完成以後再把保存的真實數據還原到數據庫中tomcat
//備份數據庫文件 @BeforeClass public static void testBackup(){ try { System.out.println("@BeforeClass"); IDatabaseConnection con = new DatabaseConnection(DBUtils.getConnection()); IDataSet createDataSet = con.createDataSet(); FlatXmlDataSet.write(createDataSet, new FileWriter("d:/test22.xml")); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } //還原數據庫文件 @AfterClass public static void testResume(){ try { System.out.println("@AfterClass"); IDatabaseConnection con = new DatabaseConnection(DBUtils.getConnection()); IDataSet dataSet = new FlatXmlDataSet(new FlatXmlProducer( new InputSource("d:/test22.xml"))); //清空數據庫中的數據並插入xml中的數據 org.dbunit.operation.DatabaseOperation.CLEAN_INSERT.execute(con,dataSet); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
二:部署工做服務器
第一步:服務器的環境部署
1:安裝jdk8
2:安裝MySQL5.7,能夠按照這個連接進行安裝:https://www.cnblogs.com/chancy/p/9444187.html
3:在服務器上安裝tomcat,安裝完成事後開啓服務,在本身電腦瀏覽器地址欄輸入IP:8080
4:能夠用Xftp將已經打包好的 「項目.war」 發送到服務器webapps目錄下,並更名爲ROOT.war(記得將原來的ROOT刪除)
5:而後瀏覽器輸入IP:8080/就出現了咱們的項目了
(三)項目訪問地址以及需注意的相關事項說明:
瀏覽器地址欄輸入:http://148.70.249.79:8080/
一些事項說明:
1:管理員登陸也是經過該頁面進行登陸,有個管理員帳號,而後即可以進入後臺管理系統。
下圖即爲後臺管理界面:
2:發佈房屋上傳圖片後,該頁面沒有什麼明顯顯示,可是你將光標移到上傳處就會顯示你的圖片名字,即成功上傳。
3:項目可能還存在一些bug,請你們多多指教!