Skip to main content

TestProject

Struct TestProject 

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

A throwaway project directory for integration tests.

Use cargo(), npm(), or empty() to start, chain builder methods, then call build() to materialize the directory. The returned TempDir is cleaned up on drop.

Implementations§

Source§

impl TestProject

Source

pub fn empty() -> Self

A bare directory with no project scaffolding.

Source

pub fn npm() -> Self

A minimal npm project. Runs npm install on build to resolve dependencies.

Source

pub fn pnpm() -> Self

A minimal pnpm project. Runs pnpm install on build to resolve dependencies.

Source

pub fn cargo() -> Self

A minimal Cargo project with Cargo.toml and empty src/lib.rs.

Source

pub fn dependency(self, name: &str, version: &str) -> Self

Source

pub fn dev_dependency(self, name: &str, version: &str) -> Self

Source

pub fn member( self, path: &str, build: impl FnOnce(TestMember) -> TestMember, ) -> Self

Add a workspace member at the given relative path. The closure receives an empty [TestMember] to configure with its own dependencies.

Source

pub fn source_file(self, name: &str, content: &str) -> Self

Source

pub fn scute_config(self, yaml: &str) -> Self

Source

pub fn nested(self, path: &str, child: TestProject) -> Self

Nest a child project at the given relative path inside this project.

Source

pub fn build(self) -> TempDir

Materialize the project into a temporary directory.

The directory is initialized as a git repo with a .gitignore that excludes node_modules/ and target/, matching what any real project would have.

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

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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