2 个不稳定版本
| 0.1.0 | 2024年5月24日 |
|---|---|
| 0.0.0 | 2023年4月24日 |
#2027 在 过程宏
每月333 次下载
在 hydroflow 中使用
12KB
204 行
multiplatform_test
提供了一个进程宏,可以扩展到与Hydroflow相关的平台进行测试。默认情况下,扩展到主机(使用正常的 #[test] 属性)和wasm(使用 #[wasm_bindgen_test])。
例如,测试
use multiplatform_test::multiplatform_test;
#[multiplatform_test]
fn my_test() {
// ...
}
扩展为
#[test]
#[wasm_bindgen_test::wasm_bindgen_test]
fn my_test() {
// ...
}
安装
[dependencies]
multiplatform_test = * # replace with version.
如果您自然使用 wasm,则您需要将 wasm_bindgen_test crate 作为依赖项添加。
用法
指定平台
有许多可以指定的平台
test- 添加标准#[test]属性。tokio- 添加了一个#[tokio::test]属性。async_std- 添加了一个#[async_std::test]属性。hydroflow- 添加了一个#[hydroflow::test]属性。wasm- 添加了一个#[wasm_bindgen_test::wasm_bindgen_test]属性。env_logging- 为env_logger注册了log日志。env_tracing- 为FmtSubscriber注册了一个EnvFilter,用于tracing跟踪。
通过传递平台名称到括号内,可以在平台子集上进行测试
use multiplatform_test::multiplatform_test;
#[multiplatform_test(test, env_logging)] // Only test on the standard `#[test]` platform, but enables logging
fn my_test() {
// ...
}
展开为
use multiplatform_test::multiplatform_test;
#[test]
fn my_test() {
let _ = env_logger::builder().is_test(true).try_init();
// ...
}
依赖项
~79KB