[−][src]Crate safina_async_test
A macro for running async fn
tests.
It is part of safina
, a safe async runtime.
Runs tests with safina_executor::block_on
.
Features
forbid(unsafe_code)
- Straightforward implementation
Limitations
- Requires Rust
nightly
because safina-executor does
Examples
use safina_async_test::async_test; #[async_test] async fn test1() { an_async_fn().await.unwrap(); }
use safina_async_test::async_test; #[async_test] async fn test2() { safina_executor::increase_threads_to(1); safina_executor::spawn(Box::pin(background_task())); assert_eq!(42, do_request().await.unwrap()); }
Documentation
https://docs.rs/safina-async-test
Alternatives
Release Process
- Edit
Cargo.toml
and bump version number. - Run
./release.sh
Changelog
- v0.1.3 - Add badges to readme. Rename
safina
package tosafina-executor
. - v0.1.2 - Update docs
- v0.1.1 - First published version
TO DO
- DONE - Implement as declarative macro. UX is bad.
- DONE - Implement as procedural macro.
- DONE - Report errors nicely
- DONE - Publish on crates.io
- Let users depend only on safina-async-test:
- Move proc macro to its own crate.
- Make safina_async_test re-export the macro and safina_executor::block_on.
- Change the macro to call safina_async_test::block_on.
Attribute Macros
async_test |