VSCode使用ipynb文件高效地进行功能测试

一、ipynb是什么文件

.ipynb文件是**Jupyter Notebook** 的专用格式,它允许用户在一个网页应用中混合编写Markdown文本、执行代码、查看输出结果及图表。Jupyter Notebook的本质是一个Web应用程序,支持运行40多种编程语言,包括Python。它的主要用途包括数据清理和转换、数值模拟、统计建模、机器学习等。Jupyter Notebook与IPython终端共享同一个内核,使得实时代码执行、数学方程处理、可视化以及markdown支持成为可能。

二、不使用ipynb文件时如何进行功能测试

如下图所示,在使用ipynb文件之前我通常会在类中添加对 (name == 'main') 情况的处理,在其中编写具体的测试逻辑,这种方法在测试功能时没啥大问题,但会有一些不方便的地方:测试完毕之后在commit之前要把测试代码都删除掉、下次想进行测试时还要再写一遍测试代码/从其他地方拷贝过来。如果用ipynb文件进行功能测试则没有这些问题,因为它是一个独立的可执行文件。

三、VSCode安装Jupyter并配置环境

安装Jupyter扩展 -> 创建test.ipynb文件 -> 执行test.ipynb文件 -> 选择Python Environments -> 选择Python 3.10.11 -> 根据提示安装ipykernel包(无此提示直接进行下一步) -> 环境配置完毕

四、test.ipynb文件的位置对import本项目其他文件的影响

当test.ipynb的位置在 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer 时,由于.env中配置了PYTHONPATH,所以sys.path第一个元素的值是 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer\src,我们在import本项目的其他文件时要以此和test.ipynb所在位置为基准,所以要写成 from iaplanperfanalyzer.xxx

当test.ipynb的位置在 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer\src\iaplanperfanalyzer\models\iaplan 时,由于.env中配置了PYTHONPATH,所以sys.path第一个元素的值是 C:\SLBProjects\PerformanceDMS.Utility.IAPlanPerfAnalyzer\src\iaplanperfanalyzer\models\iaplan\src,我们在import本项目的其他文件时要以此和test.ipynb所在位置为基准,所以要写成 from inflow_model_engine.xxx

五、test.ipynb文件支持多块Code

当我们需要测试多个功能时可以在test.ipynb中创建多块Code,为了让test.ipynb文件结构清晰也会创建多块Code(图中的import和逻辑代码就写在不同的Code中)。代码块创建完毕后,把鼠标移到左侧小三角的下方变成小手形状时可以上下拖动来调整代码块的位置。

六、异常情况处理

有时候项目代码已经发生变化,但在test.ipynb执行测试时仍是之前代码的表现,可以点击Restart,如果问题仍未解决就重启VSCode。

整理这篇文章真是不太容易,如果这篇文章对你有帮助,请点赞、评论支持下。

相关推荐
mklpo1479 分钟前
在win7 sp1 系统上安装最新版 的 Visual Studio Code。2026-10-04
ide·vscode·编辑器
程序员清风1 天前
Python 数据分析环境搭建:从 Jupyter 到 pandas
python·jupyter·数据分析
oooost3 天前
Jupyter Notebook 常用快捷键速查
ide·python·jupyter
开开心心_Every3 天前
文件夹批量创建工具支持同级和多层级
运维·服务器·游戏·jupyter·智能手机·pdf·postman
承渊政道3 天前
Linux系统学习【线程概念与控制核心知识详解】
linux·运维·vscode·学习·ubuntu·线程创建 终止 等待
深圳安车昇辉检测机构4 天前
GJB150.17A 噪声试验,读懂军工产品声学测试要求
功能测试
xfilm埃利测量4 天前
从方阻到电阻率:四探针法如何把薄膜“测明白“
功能测试·测试工具·四探针·薄膜电阻测量
广州文明机电有限公司5 天前
高速离心机实操指南、故障排查与安全规范(生物/化学实验室通用)
功能测试·模块测试
风华同学5 天前
vscode远程连接
ide·vscode·编辑器
sunoo-2295 天前
【嵌入式 ARM 学习第十二天】SPI 裸机驱动 + I2C 触摸屏驱动 + 三大串行协议深度对比
arm开发·笔记·vscode·学习·imx6ull