日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java如何做测试数据库_如何模拟用于测试的数据库(Java)?

發(fā)布時(shí)間:2025/4/16 java 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java如何做测试数据库_如何模拟用于测试的数据库(Java)? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我在Java編程,我的應(yīng)用程序正在做很多使用DB。因此,重要的是我能夠輕松地測試我的數(shù)據(jù)庫使用。

什么是數(shù)據(jù)庫測試?對我來說,他們應(yīng)該提供兩個(gè)簡單的要求:

>驗(yàn)證SQL語法。

>更重要的是,根據(jù)給定的情況檢查數(shù)據(jù)是否被正確選擇/更新/插入。

那么,看來我需要的是一個(gè)DB。

但實(shí)際上,我不喜歡,因?yàn)槭褂肈B進(jìn)行測試有幾個(gè)困難:

>“只是給自己一個(gè)測試DB,它有多難? – 好吧,在我的工作地點(diǎn),有一個(gè)個(gè)人測試DB是很不可能的。你必須使用一個(gè)“公共”數(shù)據(jù)庫,所有人都可以訪問。

>“這些測試肯定不是很快…” – DB測試往往比通常的測試慢。慢慢測試真的不理想。

>“這個(gè)程序應(yīng)該處理任何情況! – 它變得有點(diǎn)惱人,甚至不可能嘗試和模擬每個(gè)案例在一個(gè)數(shù)據(jù)庫。對于每種情況,應(yīng)該進(jìn)行一定量的插入/更新查詢,這是煩人的,需要時(shí)間。

>“等一下,你怎么知道那個(gè)表中有542行?” – 測試的主要原則之一是能夠以不同于測試代碼的方式測試功能。當(dāng)使用DB時(shí),通常有一種方法來做某事,因此測試與核心代碼完全相同。

所以,你可以弄清楚,我不喜歡DBs,當(dāng)談到測試(當(dāng)然,我必須得到這一點(diǎn),但我寧愿到那里我的測試,后我發(fā)現(xiàn)大多數(shù)錯(cuò)誤使用其余的測試方法)。但我正在尋找什么?

我正在尋找一種方法來模擬一個(gè)數(shù)據(jù)庫,一個(gè)模擬DB,使用文件系統(tǒng)或只是虛擬內(nèi)存。我認(rèn)為也許有一個(gè)Java工具/包允許簡單地構(gòu)建(使用代碼接口)DB模擬每個(gè)測試,模擬表和行,SQL驗(yàn)證,并與代碼接口監(jiān)視其狀態(tài)(而不是使用SQL )。

你熟悉這種工具嗎?

編輯:感謝您的答案!雖然我要求一個(gè)工具,你也提供了一些提示,關(guān)于這個(gè)問題:)它將需要我一些時(shí)間檢查你的優(yōu)惠,所以我不能說現(xiàn)在是否你的答案是不滿意。

無論如何,這里是一個(gè)更好的看法我正在尋找 – 想象一個(gè)名為DBMonitor的類,其功能之一是找到表中的行數(shù)。這里是一個(gè)虛構(gòu)的代碼,我如何使用JUnit測試該功能:

public class TestDBMonitor extends TestCase {

@Override

public void setUp() throws Exception {

MockConnection connection = new MockConnection();

this.tableName = "table1";

MockTable table = new MockTable(tableName);

String columnName = "column1";

ColumnType columnType = ColumnType.NUMBER;

int columnSize = 50;

MockColumn column = new MockColumn(columnName, columnType, columnSize);

table.addColumn(column);

for (int i = 0; i < 20; i++) {

HashMap fields = new HashMap();

fields.put(column, i);

table.addRow(fields);

}

this.connection = connection;

}

@Test

public void testGatherStatistics() throws Exception {

DBMonitor monitor = new DBMonitor(connection);

monitor.gatherStatistics();

assertEquals(((MockConnection) connection).getNumberOfRows(tableName),

monitor.getNumberOfRows(tableName));

}

String tableName;

Connection connection;

}

我希望這段代碼足夠清楚我的想法(對不起語法錯(cuò)誤,我是手動輸入沒有我親愛的Eclipse:P)。

順便說一句,我使用ORM部分,我的原始SQL查詢是相當(dāng)簡單,不應(yīng)該從一個(gè)平臺到另一個(gè)不同。

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的java如何做测试数据库_如何模拟用于测试的数据库(Java)?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲人人人 | 国产高清自拍av | 国产精品高潮呻吟久久aⅴ码 | 久久99草| 99久久99久久精品国产片桃花 | 麻豆视频精品 | 亚洲阿v天堂 | 中文字幕一区二区人妻在线不卡 | 午夜影院18| 欧美一级一级一级 | 国产美女视频 | 女警白嫩翘臀呻吟迎合 | 美国美女黄色片 | 国产午夜精品理论片在线 | 亚洲视频天天射 | 在线看黄色的网站 | 国产成人精品免费 | 狠狠爱欧美 | 胖女人做爰全过程 | 两个小y头稚嫩紧窄h文 | 女教师三上悠亚ssni-152 | 不卡中文| 91欧美大片 | 午夜免费网站 | 久久久精品久久 | 亚洲日本久久久 | 欧美超碰在线观看 | 黄色片高清 | 三级视频在线 | 亚洲视频在线观看免费 | www.777色 | 九色丨蝌蚪丨成人 | 国产污片在线观看 | 黄色一级片一级片 | 亚洲咪咪 | 国模在线视频 | 亚洲精品88 | 少妇三级| 熟妇人妻无码xxx视频 | 国产成人专区 | 欧美深性狂猛ⅹxxx深喉 | 欧洲成人午夜精品无码区久久 | 中文字幕第二页 | 精品中文视频 | 99久久久无码国产精品免费麻豆 | 老司机深夜福利在线观看 | 波多野结衣中文字幕一区二区三区 | 女优在线观看 | 日韩成人中文字幕 | 日韩精品2区 | 亚洲视频 中文字幕 | jizz黑人| 资源av| 成人日韩av| 欧美亚洲大片 | 久久成人福利视频 | 懂色av一区二区三区免费 | 亚洲精品推荐 | 亚洲一区二区三区91 | 欧美午夜三级 | 欧洲精品码一区二区三区免费看 | 男人手机天堂 | 亚洲综合大片69999 | 波多野结衣一区二区三区 | 国产精品久久久久久免费观看 | 欧美18—19性高清hd4k | heyzo久久 | 成人激情在线观看 | 色先锋影院 | 欧美福利片在线观看 | 色噜噜狠狠狠综合曰曰曰 | 四虎4hu永久免费网站影院 | jizz一区| 亚洲欧美日韩精品色xxx | 欧美性久久久 | 男人懂得网站 | 91麻豆免费看 | 少妇综合网 | 欧美日韩中文字幕在线观看 | 日本成人在线一区 | 免费国产黄| 欧洲精品一区二区三区久久 | 懂色av蜜臀av粉嫩av喷吹 | 日韩免费观看一区二区三区 | 婷婷国产一区二区三区 | 男女天堂av | 国产叼嘿视频在线观看 | 欧洲成人精品 | 亚洲丝袜视频 | 9999av| 国产区一二三 | 中国一级黄色大片 | 成人自拍视频在线 | a片在线免费观看 | 亚洲经典一区 | 91在线看 | kendra lust free xxx| 久久福利国产 | 顶臀精品视频www |