#native #single #framework #test-framework #web #cross

dev cross-test

在单个框架中实现原生和Web测试

7 个版本

0.1.6 2021年1月27日
0.1.5 2021年1月27日

#709 in 测试

每月 27 下载
用于 5 crates

Apache-2.0

6KB

cross-test

使用单个框架运行 Rust 原生和 Web 测试。

平台

  • Web: web-sys
  • 原生: tokio

示例

use cross_test::prelude::*;

cross_test_configure!();

#[cross_test]
async fn it_works() {
   assert_eq!(2 + 2, 4);
}

重要问题

因为 #[cross_test] 被转换成 #[tokio::test] 所有测试都必须是 async

如果存在 async 工作将提供自定义 proc-macro 来选择测试执行器。

问题链接:https://github.com/notdanilo/cross-test/issues/1


lib.rs:

cross-test

使用单个框架运行 Rust 原生和 Web 测试。

平台

  • Web: web-sys
  • 原生: tokio

要求

要运行 wasm-bindgen-test,您需要安装 nightly 工具链(无需将其设置为默认)。

您还需要手动将 wasm-bindgen-test 作为 dev 依赖项包含到项目中,因为 #[wasm_bindgen_test] 宏不能重新导出以避免此要求,因为这取决于其设计。

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-test = "0.3.20"

使用方法

use cross_test::prelude::*;

cross_test_configure!();

#[cross_test]
async fn it_works() {
   assert_eq!(2 + 2, 4);
}

重要问题

因为 #[cross_test] 被转换成 #[tokio::test] 所有测试都必须是 async

如果存在 async 工作将提供自定义 proc-macro 来选择测试执行器。

依赖关系

~0–7.5MB
~47K SLoC