Expand description
This crate is meant to be used as a dev dependency. Its purpose is to provides the testing support to help reduce boilerplate, duplication, and provides standardization.
The following macros are provided:
- op_tests_mod
- provides support to configure logging for tests
- logs test execution time
- op_test
- used to generate test functions that leverage the
tests
module generated by op_tests_mod!()
- used to generate test functions that leverage the
§Example
#[cfg(test)]
#[macro_use]
extern crate oysterpack_testing;
#[cfg(test)]
op_tests_mod!();
#[cfg(test)]
mod foo_test {
// the macro creates a test function named 'foo'
op_test!(foo, {
info!("SUCCESS");
});
#[test]
fn foo_test() {
// alternatively use ::run_test("test name",|| { // test code })
::run_test("foo_test", || {
// by default the crate's log level is set to Debug
debug!("SUCCESS")
});
}
}
§Example - configuring target log levels
#[cfg(test)]
#[macro_use]
extern crate oysterpack_testing;
#[cfg(test)]
op_tests_mod! {
"foo" => Info,
"bar" => Error
}
#[cfg(test)]
mod foo_test {
op_test!(foo, {
info!("this will be logged because this crate's log level is Debug");
info!(target: "foo", "foo info will be logged");
info!(target: "bar", "*** bar info will not be logged ***");
error!(target: "bar", "bar error will be logged");
});
#[test]
fn foo_test() {
::run_test("foo_test", || {
debug!("SUCCESS")
});
}
}
§Notes
- the log, fern, and chrono crates are re-exported because they are used by the macros. Re-exporting them makes the macros self-contained.
Re-exports§
Macros§
- debug
- re-export the log macros Logs a message at the debug level.
- error
- re-export the log macros Logs a message at the error level.
- info
- re-export the log macros Logs a message at the info level.
- log
- re-export the log macros The standard logging macro.
- log_
enabled - re-export the log macros Determines if a message logged at the specified level in that module will be logged.
- op_test
- Creates a test function, which executes the specified expression block.
It reduces some boilerplate and hides the internals of the
tests
module generated by op_tests_mod. - op_
tests_ mod - Generates a module named
tests
, which provides test support functionality. - trace
- re-export the log macros Logs a message at the trace level.
- warn
- re-export the log macros Logs a message at the warn level.
Structs§
- Metadata
- re-export the log macros Metadata about a log message.
- Metadata
Builder - re-export the log macros
Builder for
Metadata
. - Parse
Level Error - re-export the log macros
The type returned by
from_str
when the string doesn’t match any of the log levels. - Record
- re-export the log macros The “payload” of a log message.
- Record
Builder - re-export the log macros
Builder for
Record
. - SetLogger
Error - re-export the log macros
The type returned by
set_logger
ifset_logger
has already been called.
Enums§
- Level
- re-export the log macros An enum representing the available verbosity levels of the logger.
- Level
Filter - re-export the log macros An enum representing the available verbosity level filters of the logger.
Constants§
- STATIC_
MAX_ LEVEL - re-export the log macros The statically resolved maximum log level.
Traits§
- Log
- re-export the log macros A trait encapsulating the operations required of a logger.
Functions§
- logger
- re-export the log macros Returns a reference to the logger.
- max_
level - re-export the log macros Returns the current maximum log level.
- set_
boxed_ logger - re-export the log macros
Sets the global logger to a
Box<Log>
. - set_
logger - re-export the log macros
Sets the global logger to a
&'static Log
. - set_
logger_ ⚠racy - re-export the log macros
A thread-unsafe version of
set_logger
. - set_
max_ level - re-export the log macros Sets the global maximum log level.
- set_
max_ ⚠level_ racy - re-export the log macros
A thread-unsafe version of
set_max_level
.