#setup #teardown #api #test

test_suite_rs

提供宏来创建具有设置和清理函数的测试套件

4 个版本

0.1.4 2023年8月1日
0.1.3 2023年5月4日
0.1.2 2023年5月3日
0.1.1 2023年4月24日
0.1.0 2023年4月21日

#245测试

Download history 7/week @ 2024-03-09 8/week @ 2024-03-16 1/week @ 2024-03-23 18/week @ 2024-03-30 32/week @ 2024-04-06 3/week @ 2024-04-13 4/week @ 2024-05-11 50/week @ 2024-05-25 203/week @ 2024-06-01 1/week @ 2024-06-08

每月219次下载

自定义许可协议

11KB
142

test_suite_rs

提供宏来创建具有设置和清理函数的测试套件。每个测试块生成一个单独的测试函数,如果提供,将运行设置和清理函数。

示例

use test_suite_rs::test_suite;

fn setup() -> (i32, String) {
    (43, "my_string".to_owned())
}

fn teardown() {}

test_suite! {
    - name: test_mod
    - setup: setup(i32, String)
    - teardown: teardown

    test should_return_true(nbr, my_string) {
        assert_eq!(nbr, 43);
        assert_eq!(&my_string, "my_string");
    }

    test should_return_false {
        assert!(true);
    }
}

生成以下代码(简化版)

mod test_mod {
    use super::*;

    #[test]
    fn should_return_true() {
        let (nbr, my_string) = setup();

        assert_eq!(nbr, 43);
        assert_eq!(&my_string, "my_string");
        teardown();
    }
    
    #[test]
    fn should_return_false() {
        assert!(true);
    }
}

lib.rs:

提供宏来创建具有设置和清理函数的测试套件。每个测试块生成一个单独的测试函数,如果提供,将运行设置和清理函数。

示例


use test_suite_rs::test_suite;

fn setup() -> (i32, String) {
    (43, "my_string".to_owned())
}

fn teardown() {}

test_suite! {
    - name: test_mod
    - setup: setup(i32, String)
    - teardown: teardown

    test should_return_true(nbr, my_string) {
        assert_eq!(nbr, 43);
        assert_eq!(&my_string, "my_string");
    }

    test should_return_false {
        assert!(true);
    }
}

生成以下代码(简化版)

 # fn setup() -> (i32, String) {
 #    (43, "my_string".to_owned())
 # }

 # fn teardown() {}

 mod test_mod {
 #   use std::assert_eq;
     use super::*;

     #[test]
     fn should_return_true() {
         let (nbr, my_string) = setup();

         assert_eq!(nbr, 43);
         assert_eq!(&my_string, "my_string");
         teardown();
     }
 }

无运行时依赖项