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