Skip to main content

Reporter

Struct Reporter 

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

Test reporter with Andon Cord support

The reporter collects test results and can generate various output formats. In AndonCord mode, it stops on the first failure.

§Example

let mut reporter = Reporter::andon(); // Fail-fast mode

reporter.record(TestResultEntry::passed("test_1", Duration::from_millis(100)))?;
reporter.record(TestResultEntry::failed("test_2", Duration::from_millis(50), "assertion failed"))?;
// ^ This will return Err(AndonCordPulled)

Implementations§

Source§

impl Reporter

Source

pub fn new() -> Self

Create new reporter with default settings (CollectAll mode)

Source

pub fn andon() -> Self

Create reporter with Andon Cord mode (fail-fast)

Source

pub fn collect_all() -> Self

Create reporter with CollectAll mode

Source

pub fn with_name(self, name: impl Into<String>) -> Self

Set suite name

Source

pub fn start(&mut self)

Start the test suite

Source

pub fn record(&mut self, result: TestResultEntry) -> ProbarResult<()>

Record a test result

§Errors

In AndonCord mode, returns error if test failed

Source

pub fn add_screenshot( &mut self, name: impl Into<String>, screenshot: Screenshot, )

Add a screenshot

Source

pub fn add_visual_diff(&mut self, name: impl Into<String>, diff: VisualDiff)

Add a visual diff

Source

pub fn add_trace(&mut self, trace: TraceData)

Add trace data

Source

pub fn passed_count(&self) -> usize

Get number of passed tests

Source

pub fn failed_count(&self) -> usize

Get number of failed tests

Source

pub fn total_count(&self) -> usize

Get total test count

Source

pub fn pass_rate(&self) -> f64

Get pass rate (0.0 to 1.0)

Source

pub fn all_passed(&self) -> bool

Check if all tests passed

Source

pub fn total_duration(&self) -> Duration

Get total duration

Source

pub fn results(&self) -> &[TestResultEntry]

Get test results

Source

pub fn failures(&self) -> Vec<&TestResultEntry>

Get failing tests

Source

pub fn summary(&self) -> String

Generate summary string

Source

pub fn generate_html(&self, output_path: &Path) -> ProbarResult<()>

Generate HTML report

§Errors

Returns error if file writing fails

Source

pub fn render_html(&self) -> String

Render HTML report content

Source

pub fn generate_junit(&self, output_path: &Path) -> ProbarResult<()>

Generate JUnit XML for CI integration

§Errors

Returns error if file writing fails

Source

pub fn render_junit(&self) -> String

Render JUnit XML content

Trait Implementations§

Source§

impl Debug for Reporter

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for Reporter

Source§

fn default() -> Reporter

Returns the “default value” for a type. Read more

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, 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> Same for T

Source§

type Output = T

Should always be Self
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.