Database Usage

Discover how to effectively use Qodo Cover for managing and integrating databases with your development workflow.

Requirements

Currently, only SQLite is supported. SQLite operates using a local .db file for data storage and retrieval, as opposed to a server-based database.

To view the tables, you'll need SQLite installed. However, to begin, you can simply create an empty .db file using the touch command. For example:

touch run_tests.db

Running with an external DB

You can run Cover Agent using the --log-db-path option. For example:

cover-agent \
  --source-file-path "templated_tests/python_fastapi/app.py" \
  --test-file-path "templated_tests/python_fastapi/test_app.py" \
  --code-coverage-report-path "templated_tests/python_fastapi/coverage.xml" \
  --test-command "pytest --cov=. --cov-report=xml --cov-report=term" \
  --test-command-dir "templated_tests/python_fastapi" \
  --coverage-type "cobertura" \
  --desired-coverage 70 \
  --max-iterations 10 \
  --log-db-path "run_tests.db"

Cover Agent will create a table called unit_test_generation_attempts within the database.

Integration Tests

Run the integration test suite and provide the local .db file to each Docker container.

LOG_DB_PATH="<full_path_to_root_folder>/run_tests.db" tests_integration/test_all.sh

Observing the test data

View the test results using either an external database viewer or the basic SQLite command-line tool.

sqlite3 run_tests.db

After executing some tests, a table named unit_test_generation_attempts will be created.

sqlite> .tables
unit_test_generation_attempts

To get the definition of the table run:

sqlite> PRAGMA table_info(unit_test_generation_attempts);
0|id|INTEGER|1||1
1|run_time|DATETIME|0||0
2|status|VARCHAR|0||0
3|reason|TEXT|0||0
4|exit_code|INTEGER|0||0
5|stderr|TEXT|0||0
6|stdout|TEXT|0||0
7|test_code|TEXT|0||0
8|imports|TEXT|0||0

To display all test results run the query:

select * from unit_test_generation_attempts;

This query may be easier to view outside of the CLI.

You can also filter the results to show only failed tests, for example:

sqlite> select * from unit_test_generation_attempts where status = "FAIL";

Last updated

Logo

2025 Qodo. All Rights Reserved.