Struct escargot::CargoTest [−][src]
The test
subcommand (emulated).
Created via CargoBuild::run_tests
.
Benefits over spawning cargo test
:
- Able to cache binary path, avoiding cargo overhead.
- Independent of CWD.
- stdout/stderr are clean of
cargo test
output.
Required feature: test_unstable
since the format parsed is unstable.
Relevant features
print
for logged output to be printed instead, generally for test writing.
Example
extern crate escargot; extern crate assert_fs; let temp = assert_fs::TempDir::new().unwrap(); let run = escargot::CargoBuild::new() .test("test") .manifest_path("tests/fixtures/test/Cargo.toml") .target_dir(temp.path()) .run_tests().unwrap() .next().unwrap().unwrap(); println!("artifact={}", run.path().display());
Implementations
impl CargoTest
[src]
pub fn name(&self) -> &str
[src]
The name
of test
Used to offer filtering or displays.
Example
extern crate escargot; extern crate assert_fs; let temp = assert_fs::TempDir::new().unwrap(); let run: Result<Vec<_>, _> = escargot::CargoBuild::new() .tests() .current_release() .current_target() .manifest_path("tests/fixtures/test/Cargo.toml") .target_dir(temp.path()) .run_tests() .unwrap() .collect(); let run = run.unwrap(); let mut names: Vec<_> = run.iter().map(|r| r.name()).collect(); names.sort_unstable(); assert_eq!(names, ["test", "test_fixture", "test_fixture"]);
pub fn kind(&self) -> &str
[src]
The kind
of test
Used to distinguish between integration tests (test
) and unit tests (bin
, lib
).
Example
extern crate escargot; extern crate assert_fs; let temp = assert_fs::TempDir::new().unwrap(); let run: Result<Vec<_>, _> = escargot::CargoBuild::new() .tests() .current_release() .current_target() .manifest_path("tests/fixtures/test/Cargo.toml") .target_dir(temp.path()) .run_tests() .unwrap() .collect(); let run = run.unwrap(); let mut kinds: Vec<_> = run.iter().map(|r| r.kind()).collect(); kinds.sort_unstable(); assert_eq!(kinds, ["bin", "lib", "test"]);
pub fn path(&self) -> &Path
[src]
Path to the specified binary.
This is to support alternative ways of launching the binary besides Command
.
Example
extern crate escargot; extern crate assert_fs; let temp = assert_fs::TempDir::new().unwrap(); let run: Vec<_> = escargot::CargoBuild::new() .tests() .current_release() .current_target() .manifest_path("tests/fixtures/test/Cargo.toml") .target_dir(temp.path()) .run_tests() .unwrap() .collect(); assert_eq!(run.len(), 3);
pub fn command(&self) -> Command
[src]
Run the build artifact.
pub fn exec(&self) -> CargoResult<CommandMessages>
[src]
Run the configured test, returning test events.
Auto Trait Implementations
impl RefUnwindSafe for CargoTest
[src]
impl Send for CargoTest
[src]
impl Sync for CargoTest
[src]
impl Unpin for CargoTest
[src]
impl UnwindSafe for CargoTest
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,