How do I test private methods in Rust?

When using #[test], there’s nothing special about private or public methods—you’re just writing perfectly normal functions that can access anything they can access.

fn private_function() {
}

#[test]
fn test_private_function() {
    private_function()
}

External tests, such as tests/*.rs and examples/*.rs if you’re using Cargo, or doc tests, do not get access to private members; nor should they: such tests are designed to be public API tests, not to be dealing with implementation details.

Leave a Comment