Adding or reusing tests
Overview
Test suite overview
$ tree
.
├── e2e
│ ├── test_go_feature_server.py
│ ├── test_python_feature_server.py
│ ├── test_universal_e2e.py
│ └── test_validation.py
├── feature_repos
│ ├── integration_test_repo_config.py
│ ├── repo_configuration.py
│ └── universal
│ ├── catalog
│ ├── data_source_creator.py
│ ├── data_sources
│ │ ├── __init__.py
│ │ ├── bigquery.py
│ │ ├── file.py
│ │ ├── redshift.py
│ │ └── snowflake.py
│ ├── entities.py
│ ├── feature_views.py
│ ├── online_store
│ │ ├── __init__.py
│ │ ├── datastore.py
│ │ ├── dynamodb.py
│ │ ├── hbase.py
│ │ └── redis.py
│ └── online_store_creator.py
├── materialization
│ └── test_lambda.py
├── offline_store
│ ├── test_feature_logging.py
│ ├── test_offline_write.py
│ ├── test_push_features_to_offline_store.py
│ ├── test_s3_custom_endpoint.py
│ └── test_universal_historical_retrieval.py
├── online_store
│ ├── test_push_features_to_online_store.py
│ └── test_universal_online.py
└── registration
├── test_feature_store.py
├── test_inference.py
├── test_registry.py
├── test_universal_cli.py
├── test_universal_odfv_feature_inference.py
└── test_universal_types.py
Structure of the test suite
Universal feature repo
Integration vs. unit tests
Main types of tests
Integration tests
Unit tests
Docstring tests
Understanding the test suite with an example test
Example test
Writing a new test or reusing existing tests
To add a new test to an existing test file
To test a new offline / online store from a plugin repo
What are some important things to keep in mind when adding a new offline / online store?
Type mapping/Inference
Historical and online retrieval
To include a new offline / online store in the main Feast repo
Including a new offline / online store in the main Feast repo from external plugins with community maintainers.
To include a new online store
To use custom data in a new test
Running your own Redis cluster for testing
Last updated
Was this helpful?