国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

mysql - Java單元測試如何測試修改數據庫部分的代碼?

瀏覽:74日期:2023-12-16 09:17:14

問題描述

對于各種數據庫的CRUD操作,都要寫對應的單元測試。對于查找這樣并沒有太多的問題,但是對于增刪改的話這樣就會有問題,由于代碼是在生產環境中運行,所以不能真的進行真的進行改動。

現在我想到的是方案是另外創建一個用于開發的數據與生產環境中的數據庫分開,但是這樣的話有些麻煩。請問在企業真實的開發流程中對于要對數據庫修改的代碼的單元測試一般都是怎樣做的?

簡單的看了一下mockito的介紹,好像沒有找到好的解決方案。大家能否給一下建議或者推薦一下這方面的資料。

注釋:在IBM社區看到這樣一段對于單元測試的介紹:

單元測試要易于執行,單元測試的執行不應該需要配置等繁瑣操作就可以運行。如果單元測試代碼包含訪問數據庫、網絡等,這個測試就不是真正的單元測試。

一種說法是單元測試是不允許連接真實的數據庫的,所以一切數據庫操作都要mock,那么數據庫部分的代碼到底應該怎么測試?

問題解答

回答1:

可以使用h2完成單元測試。一般企業級開發都有自己的測試環境的,直接連數據庫測試也沒太大的問題

回答2:

你這個不是單元測試Unit Test,是集成測試Integration Test

不應該使用h2等內存數據庫,因為這些數據庫的語法、特性和你生產數據庫不同,很可能會導致測試失敗

如果你用Spring,則參考Spring官方文檔中關于Integration Test章節

回答3:

用內存數據庫來解決該問題。引入內存數據庫之后需要在代碼中管理ddl腳本和必要的初始化數據dml腳本,每次跑單元測試時啟動內存數據庫,刷ddl和dml腳本,然后執行單元測試邏輯,推薦管理數據庫腳本工具有flyway和liquibase

標簽: java
相關文章:
主站蜘蛛池模板: 欧美在线综合 | 黄色毛片a | 欧美人交性视频在线香蕉 | 欧美成在人线a免费 | 欧美大片一级特黄 | 久草久草视频 | 国产成人一区二区三区在线视频 | 秋霞手机入口二日韩区 | 亚洲国产夜色在线观看 | 日韩亚洲欧美在线 | 另类毛片 | 九九亚洲精品 | 亚洲欧美中文日韩在线v日本 | 久久综合99re88久久爱 | 亚洲性色视频 | 成人影院欧美大片免费看 | 欧美一级毛片欧美一级 | 国产偷怕自拍 | 亚洲国产精品一区二区三区在线观看 | 男吃女下面刺激视频免费 | 特级毛片在线播放 | 特别福利视频在线观看 | 国产亚洲一欧美一区二区三区 | 国产特黄特色的大片观看免费视频 | 在线成人aa在线看片 | 草草久 | 久青草国产在线 | 黄色a一片 | 农村寡妇一级毛片免费播放 | 久久一区二区精品 | 老太婆性杂交毛片 | a毛片全部播放免费视频完整18 | 精品日韩在线视频一区二区三区 | 成年人在线观看网站 | 国产精品久久久久久久久久98 | 久久久精品2018免费观看 | 国产精品无打码在线播放9久 | 美女视频永久黄网站免费观看韩国 | 羞羞一区二区三区四区片 | 国产日韩欧美网站 | 成人性一级视频在线观看 |