Database Usage
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:
Copy
Copy
touch run_tests.db
Running with an external DB
You can run Cover Agent using the --log-db-path
option. For example:
Copy
Copy
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.
Copy
Copy
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.
Copy
Copy
sqlite3 run_tests.db
After executing some tests, a table named unit_test_generation_attempts
will be created.
Copy
Copy
sqlite> .tables
unit_test_generation_attempts
To get the definition of the table run:
Copy
Copy
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:
Copy
Copy
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:
Copy
Copy
sqlite> select * from unit_test_generation_attempts where status = "FAIL";
Last updated