https://github.com/r-dbi/DBItest
Testing DBI drivers
https://github.com/r-dbi/DBItest
database r testing
Last synced: 3 months ago
JSON representation
Testing DBI drivers
- Host: GitHub
- URL: https://github.com/r-dbi/DBItest
- Owner: r-dbi
- License: lgpl-2.1
- Created: 2015-08-21T20:00:45.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2025-07-26T02:31:19.000Z (3 months ago)
- Last Synced: 2025-07-26T15:04:58.653Z (3 months ago)
- Topics: database, r, testing
- Language: R
- Homepage: http://dbitest.r-dbi.org
- Size: 13.1 MB
- Stars: 24
- Watchers: 4
- Forks: 18
- Open Issues: 44
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: .github/security.md
Awesome Lists containing this project
- jimsghstars - r-dbi/DBItest - Testing DBI drivers (R)
README
# DBItest
[](https://github.com/r-dbi/DBItest/actions)
[](https://app.codecov.io/gh/r-dbi/DBItest?branch=main)
[](https://cran.r-project.org/package=DBItest)
[](https://bestpractices.coreinfrastructure.org/projects/3503)
This package is primarily useful for developers of [DBI](https://dbi.r-dbi.org) backends.
It provides a considerable set of test cases for DBI backends.
These test cases correspond to the [DBI specification](https://dbi.r-dbi.org/articles/spec).
Please follow the steps below to add these test cases to your DBI backend.
## Installation
Install from CRAN via
```r
install.packages("DBItest")
```
or the development version using
```r
devtools::install_github("r-dbi/DBItest")
```
## Usage
In your driver package, add `DBItest` to the `Suggests:` and enable the tests.
Run the following code in you package's directory:
```r
# install.packages("usethis")
usethis::use_package("DBItest", "suggests")
usethis::use_test("DBItest")
```
This enables testing using `testthat` (if necessary) and creates, among others, a file `test-DBItest.R` in the `tests/testthat` directory.
Replace its entire contents by the following:
```r
DBItest::make_context(Kazam(), NULL)
DBItest::test_all()
```
This assumes that `Kazam()` returns an instance of your `DBIDriver` class.
Additional arguments to `dbConnect()` are specified as named list instead of the `NULL` argument to `make_context()`.
The `default_skip` argument to `make_context()` allows skipping tests that are not (yet) satisfied by your backend.
Further reading:
- Detailed instructions in `vignette("DBItest")`
- The feature list in the [original proposal](https://github.com/r-dbi/DBItest/wiki/Proposal).
---
Please note that the 'DBItest' project is released with a
[Contributor Code of Conduct](https://dbitest.r-dbi.org/CODE_OF_CONDUCT.html).
By contributing to this project, you agree to abide by its terms.