Questions And Answers

More Tutorials

How to test private methods in Rust?

In Rust, each module has its own tests submodule, which has access to the private functions of its parent module.

Documentation tests are only run on public functions, since each documentation test is compiled as a separate binary that links to your library and can call its public API.

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() {

fn test_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.


In this page (written and validated by ) you learned about How to test private methods in Rust? . What's Next? If you are interested in completing Rust tutorial, we encourage you simply to start here: Rust Tutorial.

Incorrect info or code snippet? We take very seriously the accuracy of the information provided on our website. We also make sure to test all snippets and examples provided for each section. If you find any incorrect information, please send us an email about the issue:

Share On:

Mockstacks was launched to help beginners learn programming languages; the site is optimized with no Ads as, Ads might slow down the performance. We also don't track any personal information; we also don't collect any kind of data unless the user provided us a corrected information. Almost all examples have been tested. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. By using, you agree to have read and accepted our terms of use, cookies and privacy policy.