rust_lib_template/
lib.rs

1extern crate log;
2
3pub fn add(left: usize, right: usize) -> usize {
4    log::info!("add {}, {}", left, right);
5    left + right
6}
7
8#[cfg(test)]
9mod tests {
10    extern crate dotenv;
11    extern crate env_logger;
12
13    use super::*;
14    use std::env;
15
16    fn init() {
17        dotenv::dotenv().ok();
18
19        let dev = env::var("RUST_ENV")
20            .unwrap_or("dev".to_string())
21            .to_lowercase()
22            .matches("dev")
23            .count()
24            > 0;
25
26        let _ = env_logger::builder().is_test(dev).try_init();
27    }
28
29    #[test]
30    fn it_works() {
31        tests::init();
32
33        let result = add(2, 2);
34        assert_eq!(result, 4);
35    }
36}