docs: run tests with an in-memory DATABASE_URL
The docs said tests need BASE_PATH in .env. The full suite (lib, bin and integration tests) passes with no .env and no BASE_PATH; the only thing it needs is DATABASE_URL, and ":memory:" works. Without it, DB-backed tests such as reels::tests::reel_capture_preserves_owner_defaults panic with "DATABASE_URL must be set". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
985f366bc2
commit
84843c1c25
2 files changed
+12
-5
No files matched your search
@@ -25,14 +25,14 @@ RUST_LOG=debug cargo run
|
|||||||
|
|
||||||
### Testing
|
### Testing
|
||||||
```bash
|
```bash
|
||||||
# Run all tests (requires BASE_PATH in .env)
|
# Run all tests. DATABASE_URL is the only env var the suite needs; no .env required
|
||||||
cargo test
|
DATABASE_URL=":memory:" cargo test
|
||||||
|
|
||||||
# Run specific test
|
# Run specific test
|
||||||
cargo test test_name
|
DATABASE_URL=":memory:" cargo test test_name
|
||||||
|
|
||||||
# Run tests with output
|
# Run tests with output
|
||||||
cargo test -- --nocapture
|
DATABASE_URL=":memory:" cargo test -- --nocapture
|
||||||
```
|
```
|
||||||
|
|
||||||
### Database Migrations
|
### Database Migrations
|
||||||
@@ -664,7 +664,7 @@ Module map:
|
|||||||
|
|
||||||
## Testing Patterns
|
## Testing Patterns
|
||||||
|
|
||||||
Tests require `BASE_PATH` environment variable. Many integration tests create temporary directories and files.
|
Tests need `DATABASE_URL` set; `DATABASE_URL=":memory:"` is enough to run the whole suite without a `.env` (otherwise DB-backed tests such as `reels::tests::reel_capture_preserves_owner_defaults` panic with `DATABASE_URL must be set`). Many integration tests create temporary directories and files.
|
||||||
|
|
||||||
When testing database code:
|
When testing database code:
|
||||||
- Use in-memory SQLite: `DATABASE_URL=":memory:"`
|
- Use in-memory SQLite: `DATABASE_URL=":memory:"`
|
||||||
|
|||||||
@@ -243,3 +243,10 @@ unset.
|
|||||||
populated retroactively) [default: `2000`]. Errors don't burn the cap;
|
populated retroactively) [default: `2000`]. Errors don't burn the cap;
|
||||||
only successful hashes count.
|
only successful hashes count.
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
`DATABASE_URL` is the only environment variable the test suite needs, and an
|
||||||
|
in-memory SQLite database works, so no `.env` is required:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
DATABASE_URL=":memory:" cargo test
|
||||||
|
```
|
||||||
Reference in new issue
Block a user