Skip to content

Commit

Permalink
Add snapshot testing to contribution guide (#7882)
Browse files Browse the repository at this point in the history
## Summary

Add a `Snapshot testing` section to `CONTRIBUTING.md`.

---------

Co-authored-by: Zanie Blue <contact@zanie.dev>
  • Loading branch information
j178 and zanieb authored Oct 8, 2024
1 parent 15e5e3f commit 9e98055
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,30 @@ cargo run python install

The storage directory can be configured with `UV_PYTHON_INSTALL_DIR`.

### Snapshot testing

uv uses [insta](https://insta.rs/) for snapshot testing. It's recommended (but not necessary) to use
`cargo-insta` for a better snapshot review experience. See the
[installation guide](https://insta.rs/docs/cli/) for more information.

In tests, you can use `uv_snapshot!` macro to simplify creating snapshots for uv commands. For
example:

```rust
#[test]
fn test_add() {
let context = TestContext::new("3.12");
uv_snapshot!(context.filters(), context.add().arg("requests"), @"");
}
```

To run and review a specific snapshot test:

```shell
cargo test --package <package> --test <test> -- <test_name> -- --exact
cargo insta review
```

### Local testing

You can invoke your development version of uv with `cargo run -- <args>`. For example:
Expand Down

0 comments on commit 9e98055

Please sign in to comment.