Files
setup-cli/docs/testing.md
2025-02-04 02:19:14 +08:00

60 lines
1.7 KiB
Markdown

# Automated testing
You can use the Supabase CLI to run automated tests.
## Testing your database
After you have [created unit tests](https://supabase.com/docs/guides/database/testing) for your database, you can use the GitHub Action to run the tests.
Inside your repository, create a new file inside the `.github/workflows` folder called `database-tests.yml`. Copy this snippet inside the file, and the action will run whenever a new PR is created:
```yaml
name: 'database-tests'
on:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: supabase/setup-cli@v1
with:
version: latest
- run: supabase db start
- run: supabase test db
```
## Testing your Edge Functions
After you have [created unit tests](https://supabase.com/docs/guides/functions/unit-test) for your Edge Functions, you can use the GitHub Action to run the tests.
Inside your repository, create a new file inside the `.github/workflows` folder called `functions-tests.yml`. Copy this snippet inside the file, and the action will run whenever a new PR is created:
```yaml
name: 'functions-tests'
on:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: supabase/setup-cli@v1
with:
version: latest
- uses: denoland/setup-deno@v2
with:
deno-version: latest
- run: supabase start
- run: deno test --allow-all deno-test.ts --env-file .env.local
```
## More resources
- Learn more about the [pgTAP extension](https://supabase.com/docs/guides/database/extensions/pgtap) for database testing.
- Official pgTAP Documentation: [pgtap.org](https://pgtap.org/)