[−][src]Crate oysterpack_testing
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
pub extern crate log; |
pub extern crate chrono; |
pub extern crate fern; |
Macros
debug |
Logs a message at the debug level. |
error |
Logs a message at the error level. |
info |
Logs a message at the info level. |
log |
The standard logging macro. |
log_enabled |
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 |
op_tests_mod |
Generates a module named |
trace |
Logs a message at the trace level. |
warn |
Logs a message at the warn level. |
Structs
Metadata |
Metadata about a log message. |
MetadataBuilder |
Builder for |
ParseLevelError |
The type returned by |
Record |
The "payload" of a log message. |
RecordBuilder |
Builder for |
SetLoggerError |
The type returned by |
Enums
Level |
An enum representing the available verbosity levels of the logger. |
LevelFilter |
An enum representing the available verbosity level filters of the logger. |
Constants
STATIC_MAX_LEVEL |
The statically resolved maximum log level. |
Traits
Log |
A trait encapsulating the operations required of a logger. |
Functions
logger |
Returns a reference to the logger. |
max_level |
Returns the current maximum log level. |
set_boxed_logger |
Sets the global logger to a |
set_logger |
Sets the global logger to a |
set_max_level |
Sets the global maximum log level. |