Crate cross_test

Source
Expand description

§cross-test

Run Rust native and web tests with a single framework.

§Platforms

  • Web: web-sys
  • Native: tokio

§Requirements

To run the wasm-bindgen-tests, you need to have the nightly toolchain installed (there is no need to make it default).

You will also need to manually include wasm-bindgen-test as a dev dependency in your project because #[wasm_bindgen_test] macro can’t be re-exported to avoid this requirement because of how it was designed.

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

§Usage

use cross_test::prelude::*;

cross_test_configure!();

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

§Important issue

Because #[cross_test] gets translated to #[tokio::test] all the tests must be async.

A custom proc-macro will be provided to select the test executor if the async work is present or not.

Modules§

prelude
Module that re-exports all the required items to make use of cross-test.

Macros§

configure

Attribute Macros§

test
Marks async function to be executed by runtime, suitable to test environment. This macro helps set up a Runtime without requiring the user to use Runtime or Builder directly.