不要依賴Mock庫 - Erwin
過去我大量使用Mock,但現在我已經放棄了這種方法,我的測試變得更好了:
不要依賴 Mocking 庫。對模擬庫的依賴導致:
- 增加類之間的耦合。
- 降低了測試的可讀性。
- 降低了應用程式的可維護性。
不要盲目地在每個類上宣告介面。在需要時引入抽象,而不是反射。
應該:
- 設計您的類和元件,以便真正隔離外部依賴項。
- 需要時,編寫手工製作的測試替身來模擬外部服務等依賴項。
考慮一下:您能否重構您的程式碼而不必更改您的測試?如果沒有,你就有麻煩了。
所以,停止Mock事物,你會過得更好。
我使用模擬庫的最大問題是:
- 您正在增加耦合,這限制了您重構的能力。
- 您正在測試類的內部結構,限制了重構的可能性。
- 模擬必須模擬您的類的行為,因此您必須兩次實現某些邏輯。
詳細分析點選標題
相關文章
- [KubernetesClient | 底層依賴庫]client
- 如何發現Python依賴庫漏洞Python
- 使用 Swift Package Manager 整合依賴庫SwiftPackage
- 依賴管理和依賴範圍
- 依賴
- Golang 依賴注入設計哲學|12.6K 🌟 的依賴注入庫 wireGolang依賴注入
- kubernetes 依賴庫apimachinery中的 wait 庫功能(1)APIMacAI
- 半導體“依賴症”:世界依賴中國、中國依賴世界
- 動態庫遞迴依賴專項遞迴
- 利用 uber-go/dig 庫管理依賴Go
- 推薦一款資料mock框架,無需任何依賴,賊牛逼Mock框架
- Maven依賴管理:控制依賴的傳遞Maven
- 分解uber依賴注入庫dig-使用篇依賴注入
- 前端彙總系列:npm依賴(類庫工具)前端NPM
- 探索 JavaScript 中的依賴管理及迴圈依賴JavaScript
- 依賴引入 | Android依賴引入史上最全攻略Android
- 分解uber依賴注入庫dig-原始碼分析依賴注入原始碼
- Android開發好用的依賴庫和工具收集Android
- 關於 Gradle 依賴庫的幾個東西Gradle
- rimraf 命令強制刪除依賴庫檔案
- Maven依賴管理Maven
- - Maven 依賴管理Maven
- Maven 依賴管理Maven
- 【PY】PyQT 依賴QT
- angular依賴注入Angular依賴注入
- XUnit 依賴注入依賴注入
- Maven什麼時候需要排除依賴,如何排除依賴Maven
- 依賴注入?依賴注入是如何實現解耦的?依賴注入解耦
- 使用IDEA模組之間依賴找不到依賴類Idea
- gomock: 不依賴interface{}的stuct method mockGoMock
- 文盤Rust -- 本地庫引發的依賴衝突Rust
- Rustyinject是Rust的編譯時依賴注入DI庫Rust編譯依賴注入
- Android下檢視SO庫被依賴的情況Android
- 交叉編譯庫依賴問題的解決方法編譯
- 函式計算安裝依賴庫方法小結函式
- 淺析依賴倒轉、控制反轉、IoC 容器、依賴注入。依賴注入
- 【Android 安全】DEX 加密 ( 代理 Application 開發 | 加密解密演算法 API | 編譯代理 Application 依賴庫 | 解壓依賴庫 aar 檔案 )Android加密APP解密演算法API編譯
- 再探迴圈依賴 → Spring 是如何判定原型迴圈依賴和構造方法迴圈依賴的?Spring原型構造方法