#log #logging #testing #oyster-pack #bar #macro #standardization

oysterpack_testing

为OysterPack平台标准化日志

3个版本

使用旧Rust 2015

0.1.2 2018年10月26日
0.1.1 2018年10月26日
0.1.0 2018年10月25日

#2 in #oyster-pack

Download history 1/week @ 2024-02-13 8/week @ 2024-02-20 38/week @ 2024-02-27 4/week @ 2024-03-05

51 每月下载量
用于 2 crates

MIT/Apache

13KB
106 代码行数,不包括注释

此crate旨在作为开发依赖项使用。其目的是提供测试支持,以帮助减少样板代码、重复,并提供标准化。

以下宏提供

示例


#[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")
      });
   }
}

示例 - 配置目标日志级别


#[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")
      });
   }
}

注意

  • 由于宏中使用,因此log、fern和chrono crates被重新导出。重新导出它们使得宏具有自包含性。

依赖项

~1.4–2MB
~30K SLoC