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.