#unit-testing #measure #long #test-cases #how #macro

time-test

Measure how long your test cases take with one simple macro

6 releases

0.3.0 Nov 2, 2024
0.2.3 Feb 23, 2022
0.2.2 Oct 12, 2019
0.2.1 Sep 3, 2017
0.1.0 Sep 2, 2017

#113 in Testing

Download history 374/week @ 2024-07-23 581/week @ 2024-07-30 319/week @ 2024-08-06 555/week @ 2024-08-13 463/week @ 2024-08-20 426/week @ 2024-08-27 325/week @ 2024-09-03 420/week @ 2024-09-10 507/week @ 2024-09-17 1023/week @ 2024-09-24 444/week @ 2024-10-01 745/week @ 2024-10-08 540/week @ 2024-10-15 763/week @ 2024-10-22 714/week @ 2024-10-29 676/week @ 2024-11-05

2,792 downloads per month
Used in 22 crates (21 directly)

MIT license

5KB

time_test

time_test is a super simple crate that you can use to easily obtain how long your tests took to run. Using it is simple (see example/ for an example use case):

#[macro_use]
extern crate time_test;

#[cfg(test)]
mod tests {
    #[test]
    fn my_test() {
        time_test!();

        println!("hello world");

        {
            time_test!("sub-assert 1");
            assert!(true);
        }
        assert_eq!(1, 1);
    }
}

Adding the time_test!() macro to the line in your test from which you want to measure the test duration will result in the duration that the test has taken being shown in the test result line:

$ # 1 test thread so that the output is not garbled.
$ cargo test -- --test-threads=1

    Finished dev [unoptimized + debuginfo] target(s) in 0.78 secs
     Running target/debug/deps/example-a84426a5de188514

running 1 test
test example::tests::my_test ... (sub-assert 1 took PT0.000002421S) (took PT0.000004178S) ok

lib.rs:

time_test is a super simple crate that you can use to easily obtain how long your tests took to run. Using it is simple (see example/ for an example use case):

#[macro_use] extern crate time_test;

#[cfg(test)]
mod tests {
    #[test]
    fn my_test() {
        time_test!();

        println!("hello world");

        {
            time_test!("sub-assert 1");
            assert!(true);
        }
        assert_eq!(1, 1);
    }
}

Adding the time_test!() macro to the line in your test from which you want to measure the test duration will result in the duration that the test has taken being shown in the test result line:

$ # 1 test thread so that the output is not garbled.
$ cargo test -- --test-threads=1

    Finished dev [unoptimized + debuginfo] target(s) in 0.78 secs
     Running target/debug/deps/example-a84426a5de188514

running 1 test
test example::tests::my_test ... (sub-assert 1 took PT0.000002421S) (took PT0.000004178S) ok

Dependencies

~735KB
~13K SLoC