2个版本
0.1.2 | 2022年6月17日 |
---|---|
0.1.0 | 2022年5月28日 |
#830 in 测试
24KB
387 代码行
test-collector引入了自定义测试运行器。你可以实现自己的start
和stop
函数,这些函数将在所有测试之前和之后分别调用。你还可以重写before_each_test
和after_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