# Aleksey Kladov - Delete Cargo Integration Tests (Highlights)

## Highlights
- Note that rustc needs to repeatedly re-link the library crate with each of the integration tests.
This can add up to a significant compilation time blow up for tests.
That is why I recommend that large projects should have only one integration test crate with several modules.
- For a library with a public API which is published to crates.io, I avoid unit tests.
Instead, I use a single integration tests, called it (integration test)
#favorite
- avoid doc tests in internal libraries for big projects and add this to Cargo.toml
```
[lib]
doctest = false
```
- Second, prefer
```
#[cfg(test)]
mod tests; // tests in `tests.rs` file ... This way, when you modify just the tests, the cargo is smart to not recompile the library crate.
```