⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

使用VCR模拟外部API并消除网络依赖

通过录制-重放HTTP交互,确保测试稳定且快速,无需真实API调用。 · 难度:入门 · +10XP

VCR模式下的API测试

常见的测试使用unittest.mock,但本教程教你集成vcrpy库,录制第一次真实API请求,后续测试重放记录。你将学会如何编写一个基于VCR的TestCase类,自动为每个测试方法创建独立的cassette文件,并处理请求匹配规则(如忽略动态header中的token)。同时介绍如何对敏感信息(如API Key)进行过滤替换,确保cassette文件可分享。

import vcr
from django.test import TestCase

my_vcr = vcr.VCR( cassette_library_dir='fixtures/vcr_cassettes', record_mode='once', filter_headers=['authorization'], )

class ExternalAPITest(TestCase): @my_vcr.use_cassette('get_user_profile.yaml') def test_fetch_profile(self): response = self.client.get('/api/user/profile/') self.assertEqual(response.status_code, 200)

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 189 篇
0 完成
🔥 0