Struct cometbft_testgen::tester::Tester
source · pub struct Tester { /* private fields */ }
Expand description
Tester allows you to easily run some test functions over a set of test files. You create a Tester instance with the reference to some specific directory, containing your test files. After a creation, you can add several types of tests there:
- add_test() adds a simple test function, which can run on some test, deserilizable from a file.
- add_test_with_env() allows your test function to receive several test environments, so that it can easily perform some operations on files when necessary
- add_test_batch() adds a batch of test: a function that accepts a ceserializable batch description, and produces a set of test from it
After you have added all your test functions, you run Tester either on individual files using run_for_file(), or for whole directories, using run_foreach_in_dir(); the directories will be traversed recursively top-down.
The last step involves calling the finalize() function, which will produce the test report and panic in case there was at least one failing test. When there are files in the directories you run Tester on, that could not be read/parsed, it is also considered an error, and leads to panic.
Implementations§
source§impl Tester
impl Tester
pub fn new(name: &str, root_dir: &str) -> Tester
pub fn env(&self) -> Option<TestEnv>
pub fn output_env(&self) -> Option<TestEnv>
pub fn add_test<T, F>(&mut self, name: &str, test: F)
pub fn add_test_with_env<T, F>(&mut self, name: &str, test: F)where
T: 'static + DeserializeOwned + UnwindSafe,
F: Fn(T, &TestEnv, &TestEnv, &TestEnv) + UnwindSafe + RefUnwindSafe + 'static,
pub fn add_test_batch<T, F>(&mut self, batch: F)
pub fn successful_tests(&self, test: &str) -> Vec<String>
pub fn failed_tests(&self, test: &str) -> Vec<(String, String, String)>
pub fn unreadable_tests(&self) -> Vec<String>
pub fn unparseable_tests(&self) -> Vec<String>
pub fn run_for_file(&mut self, path: &str)
pub fn run_foreach_in_dir(&mut self, dir: &str)
pub fn finalize(&mut self)
Auto Trait Implementations§
impl !RefUnwindSafe for Tester
impl !Send for Tester
impl !Sync for Tester
impl Unpin for Tester
impl !UnwindSafe for Tester
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more