Standard tests ensure your integration works as expected. When creating either a custom class for yourself or to publish in a LangChain integration, it is important to add standard tests to ensure it works as expected. This guide will show you how to add standard tests to each integration type.

Setup

First, install the required dependencies:
npm install @langchain/core
npm install @langchain/standard-tests
There are 2 namespaces in the langchain-tests package:

Implementing standard tests

Depending on your integration type, you will need to implement either or both unit and integration tests. By subclassing the standard test suite for your integration type, you get the full collection of standard tests for that type. For a test run to be successful, the a given test should pass only if the model supports the capability being tested. Otherwise, the test should be skipped. Because different integrations offer unique sets of features, most standard tests provided by LangChain are opt-in by default to prevent false positives. Consequently, you will need to override properties to indicate which features your integration supports - see the below example for an illustration.
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)
            // ...
        });
    }
You should typically organize tests in these subdirectories relative to the root of your package:
  • tests/unit_tests for unit tests
  • tests/integration_tests for integration tests
To see the complete list of configurable capabilities and their defaults, visit the API reference for your integration type. Reference pages include code examples for implementing standard tests. Here are some example implementations of standard tests from popular integrations:

Running tests

TODO

Troubleshooting

For a full list of the standard test suites that are available, as well as information on which tests are included and how to troubleshoot common issues, see the Standard Tests API Reference.