前途科技
  • 科技
  • AI
    • AI 前沿技术
    • Agent生态
    • AI应用场景
    • AI 行业应用
  • 初创
  • 报告
  • 学习中心
    • 编程与工具
    • 数据科学与工程
我的兴趣
前途科技前途科技
Font ResizerAa
站内搜索
Have an existing account? Sign In
Follow US
Copyright © 2024 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。 | 京ICP备17045010号-1 | 京公网安备 11010502033860号
编程与工具

如何通过本地化测试大幅提升编码迭代速度

NEXTECH
Last updated: 2025年12月14日 上午7:30
By NEXTECH
Share
22 Min Read
SHARE

在代码开发过程中,通常需要在推送到开发或生产环境之前进行测试。然而,等待GitHub Actions的部署流程,或是通过CDK部署基础设施栈,往往非常耗时。

Contents
为何需要在本地运行代码如何在本地模拟生产环境进行开发本地运行的进阶技巧结论

这类耗时的任务会严重拖慢迭代速度,而迭代速度是高效开发代码的关键因素。这是因为开发者需要充分测试实现方案以确保其正常工作,并且在每次更改后都需要重新测试。

借助最新的智能编码助手,编写完整的本地测试脚本变得极其快速,这已成为许多数据科学家和工程师日常编码工作中的常规操作。

本文将阐述为何需要通过运行Docker镜像和发送测试事件来建立高效的本地测试环境。同时,将展示一种实践方法,以及这种方法如何帮助工程师提升效率。

讨论将主要围绕基础设施即代码(IaC)展开,因为这是日常工作中经常接触的领域。然而,高效本地运行代码的理念适用于所有类型的编程工作。

图1:智能化的本地测试流程

You Might Also Like

Python数据可视化:核心编程基础回顾与应用
运用NumPy分析日常习惯:睡眠、屏幕时间与情绪洞察
Python机器人入门指南:使用PyBullet轻松构建3D仿真
提升4倍效率:AI编程助手的四大实战技巧

这张信息图概括了本文的核心内容。文章将阐述缓慢的迭代速度如何限制开发者的能力,以及如何通过创建本地代理生产环境来加速开发。同时,也会介绍如何让编码助手访问本地测试脚本,以实现更高的迭代速度。图片由Gemini生成。

为何需要在本地运行代码

首先,需要明确在本地运行代码的必要性。简单来说,原因在于:

迭代速度是将可运行代码高效推送到生产环境的最重要因素之一

代码的迭代速度越快越好。当开发新功能(或修复旧功能)时,开发者希望快速测试其是否有效,然后迭代修复代码,直到其按预期工作。

如果每次测试前都需要等待5-15分钟的代码部署时间,就会遇到严重问题。每当无法一次性解决问题时,就会浪费5-15分钟仅仅用于等待部署。

相反,应该在本地运行代码。例如,如果使用AWS CDK等IaC工具,可以在本地构建和运行Docker镜像,从而在自己的计算机上基本复制生产环境。这样,迭代循环变得简单,耗时主要在于构建Docker镜像和运行代码本身。

考虑到Docker会缓存之前的构建,构建镜像通常非常快。因此,大部分时间可能花在运行带有测试输入的代码以及验证输出是否符合预期上。

如果开发的是Web应用程序,很可能已经在部署代码之前在本地运行应用了。处理IaC时也应采用同样的思路。

如何在本地模拟生产环境进行开发

本地开发的一个重要方面是能够紧密复制生产环境。如果编写IaC、构建Docker镜像并在本地运行:

那么测试的就是完全相同的代码,具有相同的输入路径。如果将本地的.env文件与生产环境的.env文件镜像同步,也就镜像了所有环境变量。因此,如果条件允许,在本地运行Docker镜像是理想的选择。

使用编码助手创建本地脚本

在Cursor、Claude Code等编码助手出现之前,设置本地运行环境通常是一项繁琐的任务。需要正确构建Docker镜像,设置其使用.env文件运行等等。或者,可能希望将代码作为FastAPI服务器在本地运行,这也会面临类似的挑战。

然而,现在这已不再是问题。要开始在本地运行,通常可以向Cursor提供以下指令:

为我创建一个用于在本地运行此代码的shell脚本。该shell脚本
应运行docker镜像,并包含一个可选的--build标志,用于在运行前构建
docker镜像。docker镜像应从.env文件加载环境变量。

这会创建一个高效可用的shell脚本。可选的–build标志很有用,因为构建Docker镜像有时很耗时,而且并非每次运行前都需要重新构建。

此外,以下因素使得运行脚本变得容易:

  • 不在.env文件中存储实际密钥。只存储密钥引用,代码随后从AWS Secrets Manager等位置获取。因此,可以推送.env文件而无需担心泄露密钥。这也使得其他人在从GitHub拉取代码时更容易运行脚本。
  • 创建另一个包含测试事件的文件,可以轻松地将事件发送到正在运行的Docker镜像。这样可以方便地检查输入和输出。
  • 将测试脚本部署到Git,以便团队其他成员也能访问。这包括前面提到的.env文件,因为它不包含任何密钥。

现在,就拥有了运行和测试本地代码所需的确切设置。每次进行更改时,重新构建Docker镜像并发送测试事件,确保一切按预期工作。

建议为所有代码仓库设置这些本地测试脚本,并将其推送到Git进行共享。访问这些脚本将使整个团队的编程效率得到提升。

本地运行的进阶技巧

在拥有这些本地测试文件的基础上,还有两个额外的技巧可以进一步提升效率:

  • 使用预提交钩子(pre-commit hooks)运行和测试Docker镜像
  • 让编码助手访问这些脚本

预提交钩子

预提交钩子是在每次提交到git之前运行的代码。典型的预提交钩子包括:

  • 运行 black . 进行代码格式化
  • 运行 mypy 确保类型安全
  • 运行 pytest tests 确保所有测试通过

使用预提交钩子可以保证永远不会忘记在推送代码前运行这些命令。这非常有用,能节省大量时间。很难计数有多少次因为忘记在提交前运行black格式化,导致部署测试在5分钟后失败,浪费了大量时间。

如果构建、运行和测试Docker镜像不是特别耗时,建议也将其添加到预提交钩子中。这样就能保证在推送任何代码之前,已经测试过代码在生产环境中运行,并且对于给定的输入能得到预期的输出。将其实现为预提交钩子,未来可能会节省大量时间。

让编码助手访问测试脚本

第二个技巧是,总是让Cursor和Claude Code等编码助手能够运行测试脚本。然后,指示编码助手在完成更改后、结束当前实现之前,运行测试脚本。

让编码助手运行和测试Docker镜像,将极大提高其一次性成功实现功能的概率

当编码助手实现一个功能后,如果必须手动运行和测试Docker镜像,这会节省大量时间。如果遇到错误,必须将其粘贴到编码助手中,然后循环重复直到代码正常工作。

这是时间的浪费,应该努力避免。让编码助手访问测试脚本,本质上就像是交给它一个工具,这能显著提升软件工程任务的性能。这节省的时间之多,怎么强调都不为过。

结论

本文讨论了如何通过创建在本地构建、运行和测试Docker镜像的脚本,来建立逼真的本地生产环境。这样做降低了迭代周期,而迭代速度是成为高效程序员的关键组成部分。此外,还介绍了实践方法:通过提示Cursor创建测试脚本,以及一些可以在Docker镜像上运行的示例事件。然后,让Cursor和Claude Code能够运行这些脚本,从而极大地提高了编程效率。

快速的迭代速度对于几乎所有软件工程任务都至关重要,是应该努力追求的目标。创建本地测试文件并让编码助手访问它们,能显著提高迭代速度,这正是实践者认为此举极大提升了自身作为程序员的生产力的原因。

图2:👉 免费资源

图3:🚀用LLM提升10倍工程效率(免费3天电子邮件课程)

图4:📚获取免费的视觉语言模型电子书

图5:💻关于视觉语言模型的网络研讨会

图6:👉 社交媒体

图7:📩订阅新闻通讯

图8:🧑‍💻取得联系

图9:🔗LinkedIn

图10:🐦X / Twitter

TAGGED:Docker本地测试编码助手编程与工具迭代速度
Share This Article
Email Copy Link Print
Previous Article Nex Playground游戏机捆绑套装 儿童体感游戏机Nex Playground异军突起,黑马姿态超越Xbox成假日爆款
Next Article 20251214081256117.jpg AI投资神话破灭?科技股暴跌引发市场反思
Leave a Comment

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

最新内容
图表1
《亚洲水发展展望2025》深度解读:亚太水安全喜忧参半,未来挑战何在?
未分类
谷歌助手设备概念图
谷歌支付6800万美元和解语音助手监听诉讼,你的隐私可能被“误触发”录音
科技
20260127081404359.jpg
甲骨文豪掷500亿美元押注AI基建,美国数据中心版图加速扩张
科技
OpenAI总裁豪掷2500万美元支持特朗普,科技巨头与政坛的深度捆绑引关注
AI

相关内容

编程与工具

Python 代码测试利器:Hypothesis 基于属性测试,先于用户发现潜在缺陷

2025年11月1日
哥尼斯堡七桥问题图示
编程与工具

欧拉旋律:图算法在算法音乐创作中的应用与Python实践

2025年9月29日
图片:在几分钟内构建有用的Streamlit仪表板的5个技巧
编程与工具

高效Streamlit仪表板:5个实用技巧助你快速上手

2025年9月21日
销售数据表格
编程与工具

使用HTML、CSS和JavaScript构建交互式数据看板:一份无框架指南

2025年10月4日
Show More
前途科技

前途科技是一个致力于提供全球最新科技资讯的专业网站。我们以实时更新的方式,为用户呈现来自世界各地的科技新闻和深度分析,涵盖从技术创新到企业发展等多方面内容。专注于为用户提供高质量的科技创业新闻和行业动态。

分类

  • AI
  • 初创
  • 学习中心

快速链接

  • 阅读历史
  • 我的关注
  • 我的收藏

Copyright © 2025 AccessPath.com, 前途国际科技咨询(北京)有限公司,版权所有。 | 京ICP备17045010号-1 | 京公网安备 11010502033860号

前途科技
Username or Email Address
Password

Lost your password?