问题
I'm writing a library which contains private structs and methods:
/// Constructs a new `Object`
///
/// Internal API
///
/// # Example
/// ```rust
/// use lib::object::Object;
///
/// let tn = Object::new();
/// ```
When I run cargo test
, the doctest fails because Object
is a private struct.
Is it possible to make it compile and run?
回答1:
I don't think it is possible if you want the test to compile and run, see this related question.
I you only want to include the code as a sample in the documentation, without trying to compile and run it, you can exclude it from the tests by adding the ignore
flag:
/// ```rust,ignore
/// use lib::object::Object;
///
/// let tn = Object::new();
/// ```
来源:https://stackoverflow.com/questions/47698062/how-to-write-documentation-tests-for-an-internal-api