Skip to content

8.3 测试与部署

🎯 小白理解指南:为什么要测试和部署?

代码写完不等于完成!还需要:

  1. 测试:确保代码没有 bug(就像汽车出厂前要检测)
  2. 部署:把代码放到服务器上运行(就像把产品放到货架上卖)

不测试直接上线 = 开着没检测过的车上高速,迟早出事!

单元测试

🎯 小白理解指南:什么是"单元测试"?

单元测试就是一个一个功能地检查

  • Agent 能创建成功吗?✅
  • 搜索工具能用吗?✅
  • 计算器算得对吗?✅

pytest 是 Python 最流行的测试工具,运行 pytest 命令就能自动执行所有测试。

python
import pytest
from agent import create_production_agent

def test_agent_creation():
    """测试 Agent 创建

    🎯 检查:Agent 能正常创建,不报错
    """
    agent = create_production_agent()
    assert agent is not None  # 不是 None 就通过

def test_search_tool():
    """测试搜索工具

    🎯 检查:搜索 "test" 能返回包含 "test" 的结果
    """
    from tools import search_web
    result = search_web.invoke({"query": "test"})
    assert "test" in result  # 结果里有 "test" 就通过

def test_calculator_tool():
    """测试计算器

    🎯 检查:计算 2+2 能返回包含 "4" 的结果
    """
    from tools import calculator
    result = calculator.invoke({"expression": "2+2"})
    assert "4" in result  # 结果里有 "4" 就通过

🎯 小白提示:assert 是什么?

assert 是"断言"——声称某件事应该是真的。

  • 如果是真的,测试通过 ✅
  • 如果是假的,测试失败 ❌,pytest 会告诉你哪里出错了

部署清单

🎯 小白理解指南:部署清单是什么?

就像出远门前的行李清单,确保不遗漏任何东西:

检查项说明常见问题
环境变量配置 API 密钥等忘了设置,程序找不到密钥
依赖安装安装需要的包缺包,程序报错
运行测试确保没 bug有 bug 上线,用户投诉
文档完善写清怎么用别人接手看不懂
  • [ ] 环境变量配置(.env 文件里设置 OPENAI_API_KEY
  • [ ] 依赖安装(poetry installpip install -r requirements.txt
  • [ ] 运行测试(pytest 确保全部通过)
  • [ ] 文档完善(README.md 写清楚怎么用)
  • [ ] Docker 容器化(可选,方便在任何机器上运行)

🎯 小白提示:部署到哪里?

常见的部署方式:

  • 本地运行:自己电脑上跑(开发调试用)
  • 云服务器:AWS、阿里云等(正式上线用)
  • Docker:打包成容器,哪里都能跑(推荐)
  • Serverless:按调用次数付费(省钱)

下一节:8.4 小结和下一步

基于 MIT 许可证发布。内容版权归作者所有。