#integration-tests #test-runner #setting-up #custom-runner

test-collector

用于设置带有启动和关闭功能的集成测试的库

2个版本

0.1.2 2022年6月17日
0.1.0 2022年5月28日

#830 in 测试

MIT/Apache

24KB
387 代码行

test-collector引入了自定义测试运行器。你可以实现自己的startstop函数,这些函数将在所有测试之前和之后分别调用。你还可以重写before_each_testafter_each_test,为每个测试带来额外的清理或设置功能。你需要test-collector-derive,它提供了'#[collect_test]',你可以用它来收集使用inventory的库中的测试。

    #[collect_test]
    #[test]
    pub fn sync_test_success() {
        println!("Executed sync!");
        assert_eq!(true, true);
    }

    #[collect_test(async)]
    #[actix_web::test]
    pub async fn async_test_success() {
        let client = reqwest::Client::builder()
            .build()
            .expect("error during client build");
        let response = client.get("https://127.0.0.1:9090/").send().await;
        assert!(response.is_ok());
    }

你需要创建自己的主函数,并在你的项目的Cargo.toml中添加此函数的名称和路径。

[[test]]
name = "integration"
path = "integration-tests/main.rs"
harness = false

主函数的示例可以在test-collector-lib/src/lib.rs:166中找到。

依赖

~5–15MB
~168K SLoC