๐Ÿ›ˆ Note: This is pre-release documentation for the upcoming tracing 0.2.0 ecosystem.

For the release documentation, please see docs.rs, instead.

Struct ExpectedFields

Source
pub struct ExpectedFields { /* private fields */ }
Expand description

An expectation for multiple fields.

For a detailed description and examples, see the documentation for the methods and the field module.

Implementationsยง

Sourceยง

impl ExpectedFields

Source

pub fn and(self, field: ExpectedField) -> Self

Adds an additional ExpectedField to be matched.

All fields must match, if any of them are not present, or if the value for any field is different, the expectation will fail.

This method performs the same function as ExpectedField::and, but applies in the case where there are already multiple fields expected.

ยงExamples
use tracing_mock::{collector, expect};

let event = expect::event().with_fields(
    expect::field("field")
        .with_value(&"value")
        .and(expect::field("another_field").with_value(&42))
        .and(expect::field("a_third_field").with_value(&true)),
);

let (collector, handle) = collector::mock()
    .event(event)
    .run_with_handle();

tracing::collect::with_default(collector, || {
    tracing::info!(
        field = "value",
        another_field = 42,
        a_third_field = true,
    );
});

handle.assert_finished();

If any of the expected fields are not present on the recorded event, the test will fail:

โ“˜
use tracing_mock::{collector, expect};

let event = expect::event().with_fields(
    expect::field("field")
        .with_value(&"value")
        .and(expect::field("another_field").with_value(&42))
        .and(expect::field("a_third_field").with_value(&true)),
);

let (collector, handle) = collector::mock()
    .event(event)
    .run_with_handle();

tracing::collect::with_default(collector, || {
    tracing::info!(
        field = "value",
        a_third_field = true,
    );
});

handle.assert_finished();
Source

pub fn only(self) -> Self

Indicates that no fields other than those specified should be expected.

This method performs the same function as ExpectedField::only, but applies in the case where there are multiple fields expected.

ยงExamples

The following test will pass, even though additional fields are recorded on the event.

use tracing_mock::{collector, expect};

let event = expect::event().with_fields(
    expect::field("field")
        .with_value(&"value")
        .and(expect::field("another_field").with_value(&42)),
);

let (collector, handle) = collector::mock()
    .event(event)
    .run_with_handle();

tracing::collect::with_default(collector, || {
    tracing::info!(
        field = "value",
        another_field = 42,
        a_third_field = true,
    );
});

handle.assert_finished();

If we include only on the ExpectedFields then the test will fail:

โ“˜
use tracing_mock::{collector, expect};

let event = expect::event().with_fields(
    expect::field("field")
        .with_value(&"value")
        .and(expect::field("another_field").with_value(&42))
        .only(),
);

let (collector, handle) = collector::mock()
    .event(event)
    .run_with_handle();

tracing::collect::with_default(collector, || {
    tracing::info!(
        field = "value",
        another_field = 42,
        a_third_field = true,
    );
});

handle.assert_finished();

Trait Implementationsยง

Sourceยง

impl Debug for ExpectedFields

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Sourceยง

impl Default for ExpectedFields

Sourceยง

fn default() -> ExpectedFields

Returns the โ€œdefault valueโ€ for a type. Read more
Sourceยง

impl Display for ExpectedFields

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Sourceยง

impl From<ExpectedField> for ExpectedFields

Sourceยง

fn from(field: ExpectedField) -> Self

Converts to this type from the input type.
Sourceยง

impl PartialEq for ExpectedFields

Sourceยง

fn eq(&self, other: &ExpectedFields) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 ยท Sourceยง

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Sourceยง

impl Eq for ExpectedFields

Sourceยง

impl StructuralPartialEq for ExpectedFields

Auto Trait Implementationsยง

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T> Instrument for T

Sourceยง

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Sourceยง

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> ToString for T
where T: Display + ?Sized,

Sourceยง

fn to_string(&self) -> String

Converts the given value to a String. Read more
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<T> WithCollector for T

Sourceยง

fn with_collector<C>(self, collector: C) -> WithDispatch<Self>
where C: Into<Dispatch>,

Attaches the provided collector to this type, returning a WithDispatch wrapper. Read more
Sourceยง

fn with_current_collector(self) -> WithDispatch<Self>

Attaches the current default collector to this type, returning a WithDispatch wrapper. Read more