Skip to main content
标准测试确保您的集成按预期工作。 无论是为自己创建自定义类,还是为了发布到 LangChain 集成中,都有必要添加测试以确保其按预期工作。LangChain 为每种集成类型都提供了一套全面的测试。本指南将介绍如何将 LangChain 的标准测试套件添加到每种集成类型中。

设置

首先,安装所需的依赖项:

langchain-core

定义我们想要导入以定义自定义组件的接口

langchain-tests

提供运行标准测试所需的测试和插件
npm install @langchain/core
npm install @langchain/standard-tests
langchain-tests 包中有 2 个命名空间:
位置: src.unit_tests旨在独立测试组件,且无法访问外部服务查看 API 参考
位置: src.integration_tests旨在测试能够访问外部服务的组件(特别是该组件设计用来与之交互的外部服务)查看 API 参考

实现标准测试

根据您的集成类型,您需要实现单元测试或集成测试,或两者都需要。 通过为您的集成类型子类化标准测试套件,您将获得该类型的全套标准测试。要使测试运行成功,给定的测试只有在模型支持其所测试的能力时才应通过。否则,应跳过该测试。 由于不同的集成提供独特的功能集,LangChain 提供的大多数标准测试默认采用选择性加入以防止误报。因此,您需要重写属性来指明您的集成支持哪些功能 - 请参阅下面的示例进行说明。
tests/chat_models.standard.int.test.ts
// Indicate that a chat model supports parallel tool calls

class ChatParrotLinkStandardIntegrationTests extends ChatModelIntegrationTests<
    ChatParrotLinkCallOptions,
    AIMessageChunk
> {
    constructor() {
        // ... other required properties

        super({
            // ... other required properties
            supportsParallelToolCalls: true,  // (The default is False)
            // ...
        });
    }
您应该将测试组织在包根目录下的这些子目录中:
  • tests/unit_tests 用于单元测试
  • tests/integration_tests 用于集成测试
要查看可配置功能的完整列表及其默认值,请访问标准测试的 API reference 以下是来自流行集成的标准测试示例实现:

运行测试

TODO

故障排除

如需获取可用的标准测试套件的完整列表,以及其中包含的测试详情和常见问题排查方法,请参阅 Standard Tests API Reference 请提供需要翻译的英文技术文档内容。我将根据您的要求,将其翻译为简体中文,并严格遵循术语规范、占位符保留和 JSX/MDX 标签处理等所有规则。
以编程方式连接这些文档 到 Claude、VSCode 等工具,通过 MCP 获得实时答案。