Skip to main content

Settings

Struct Settings 

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

Configuration for a Hegel test run.

Use builder methods to customize, then pass to [Hegel::settings] or the settings parameter of #[hegel::test].

In CI environments (detected automatically), the database is disabled and tests are derandomized by default.

Implementations§

Source§

impl Settings

Source

pub fn new() -> Self

Create settings with defaults. Detects CI environments automatically.

Source

pub fn test_cases(self, n: u64) -> Self

Set the number of test cases to run (default: 100).

Source

pub fn verbosity(self, verbosity: Verbosity) -> Self

Set the verbosity level.

Source

pub fn seed(self, seed: Option<u64>) -> Self

Set a fixed seed for reproducibility, or None for random.

Source

pub fn derandomize(self, derandomize: bool) -> Self

When true, use a fixed seed derived from the test name. Enabled by default in CI.

Source

pub fn database(self, database: Option<String>) -> Self

Set the database path for storing failing examples, or None to disable.

Source

pub fn suppress_health_check( self, checks: impl IntoIterator<Item = HealthCheck>, ) -> Self

Suppress one or more health checks so they do not cause test failure.

Health checks detect common issues like excessive filtering or slow tests. Use this to suppress specific checks when they are expected.

§Example
use hegel::{HealthCheck, Verbosity};
use hegel::generators as gs;

#[hegel::test(suppress_health_check = [HealthCheck::FilterTooMuch, HealthCheck::TooSlow])]
fn my_test(tc: hegel::TestCase) {
    let n: i32 = tc.draw(gs::integers());
    tc.assume(n > 0);
}

Trait Implementations§

Source§

impl Clone for Settings

Source§

fn clone(&self) -> Settings

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Settings

Source§

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

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

impl Default for Settings

Source§

fn default() -> Self

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V