设置
首先,安装所需的依赖项: :::pythonlangchain-core
定义我们想要导入以定义自定义组件的接口
langchain-tests
提供运行测试所需的标准测试和
pytest 插件langchain-core
定义我们想要导入以定义自定义组件的接口
langchain-tests
提供运行测试所需的标准测试和插件
langchain-tests 包含 2 个命名空间:
Unit tests
Unit tests
:::python
位置:
langchain_tests.unit_tests
:::
:::js
位置: src.unit_tests
:::设计用于在隔离状态下测试组件,且无法访问外部服务查看 API 参考Integration tests
Integration tests
:::python
位置:
langchain_tests.integration_tests
:::
:::js
位置: src.integration_tests
:::设计用于在可以访问外部服务的情况下测试组件(特别是组件设计用于交互的外部服务)查看 API 参考pytest 基于类的测试套件。
::>
实现标准测试
根据您的集成类型,您需要实现单元测试和/或集成测试。 通过继承您的集成类型的标准测试套件,您将获得该类型的标准测试的完整集合。要使测试运行成功,给定的测试只有在模型支持正在测试的功能时才应通过。否则,测试应被跳过。 由于不同的集成提供独特的功能集,LangChain 提供的大多数标准测试默认情况下是 按需选择 的,以防止误报。因此,您需要覆盖属性以指示您的集成支持哪些功能 - 以下示例说明了这一点。 :::pythontests/integration_tests/test_standard.py
tests/chat_models.standard.int.test.ts
您应将这些测试组织在相对于您的包根目录的子目录中:
tests/unit_tests用于单元测试tests/integration_tests用于集成测试
- Unit tests
- Integration tests
- Sandbox integration tests
ChatOpenAI
单元测试
ChatAnthropic
单元测试
ChatGenAI
单元测试
Sandbox 集成
:::python Deep Agents Sandbox 集成使用SandboxIntegrationTests 从 langchain_tests.integration_tests。
继承它并提供一个 sandbox 固定装置,该装置生成一个 SandboxBackendProtocol 实例。
使用 Daytona 集成测试 作为参考实现。
有关发布指南,请参阅 贡献 Sandbox 集成。
:::
:::js
Deep Agents Sandbox 集成使用 sandboxStandardTests 从 @langchain/sandbox-standard-tests。
使用包含 createSandbox、resolvePath 和 closeSandbox 的配置对象调用它。
使用 Daytona 集成测试 作为参考实现。
有关发布指南,请参阅 贡献 Sandbox 集成。
:::
:::python
运行测试
如果从模板引导集成,将提供一个Makefile,其中包含运行单元测试和集成测试的目标:
故障排除
:::python 有关可用标准测试套件的完整列表,以及包含哪些测试以及如何解决常见问题的信息,请参阅 标准测试 API 参考。 ::: :::js 有关可用标准测试套件的完整列表,以及包含哪些测试以及如何解决常见问题的信息,请参阅 贡献 README。 :::官方原文:src/oss/contributing/standard-tests-langchain.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。