alamb commented on a change in pull request #1471: URL: https://github.com/apache/arrow-datafusion/pull/1471#discussion_r804203912
########## File path: DEVELOPERS.md ########## @@ -40,6 +40,80 @@ Testing setup: - `export PARQUET_TEST_DATA=$(pwd)/parquet-testing/data/` - `export ARROW_TEST_DATA=$(pwd)/testing/data/` + +## Test Organization + +DataFusion has several levels of tests in its [Test +Pyramid](https://martinfowler.com/articles/practical-test-pyramid.html) +and tries to follow [Testing Organization](https://doc.rust-lang.org/book/ch11-03-test-organization.html) in the The Book. + +This section highlights the most important test modules that exist + +### Unit tests + +Tests for the code in an individual module are defined in the same source file with a `test` module, following Rust convention + + +### Rust Integration Tests + +There are several tests of the public interface of the DataFusion library in the [tests](https://github.com/apache/arrow-datafusion/blob/master/datafusion/tests) directory. + +You can run these tests individually using a command such as + +```shell +cargo test -p datafusion --tests sql_integration +``` + +One very important test is the [sql_integraton](https://github.com/apache/arrow-datafusion/blob/master/datafusion/tests/sql_integration.rs) test which validates DataFusion's ability to run a large assortment of SQL queries against an assortment of data setsups. + + +### SQL / Postgres Integration Tests + +The [integration-tests](https://github.com/apache/arrow-datafusion/blob/master/datafusion/integration-tests] directory contains a harness that runs certain queries against both postgres and datafusion and compares results + + +#### setup environment +```shell Review comment: @Jimexist is this ok instructions for invoking the integration test locally? It would probably be nicer to make it a little easier (like put the table creation in sql and default some of the arguments) but perhaps we can do that as a follow on ticket -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
