1
0
mirror of synced 2026-01-07 09:05:45 -05:00
Files
airbyte/docs/connector-development/testing-connectors
Ben Church 5b183cbb7a Bnchrch/cat/backwards fail removed prop (#27685)
* Incorrect way to do this

* Working

* Make tests pretty

* Revert "Incorrect way to do this"

This reverts commit f8e29594c1b5fa07bad805806f2571af883d27fd.

* Add backwards compatibility docs

* bump version

* format

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@sers.noreply.github.com>
2023-06-28 08:21:27 -07:00
..

Testing Connectors

Our testing pyramid

Multiple tests suites compose the Airbyte connector testing pyramid: Connector specific tests declared in the connector code directory:

  • Unit tests
  • Integration tests

Tests common to all connectors:

Running tests

Unit and integration tests can be run directly from the connector code.

Using pytest for Python connectors:

python -m pytest unit_tests/
python -m pytest integration_tests/

Using gradle for Java connectors:

./gradlew :airbyte-integrations:connectors:source-postgres:test
./gradlew :airbyte-integrations:connectors:source-postgres:integrationTestJava

Please note that according to the test implementation you might have to provide connector configurations as a config.json file in a .secrets folder in the connector code directory.

If you want to run the global test suite, exactly like what is run in CI, you should install airbyte-ci CLI and use the following command:

airbyte-ci connectors --name=<connector_name> test

This will run all the tests for the connector, including the QA checks and the Connector Acceptance tests. Connector Acceptance tests require connector configuration to be provided as a config.json file in a .secrets folder in the connector code directory.

Tests on pull requests

Our CI infrastructure runs the connector tests with airbyte-ci CLI. Connectors tests are automatically and remotely triggered on your branch according to the changes made in your branch. Passing tests are required to merge a connector pull request.