Expand description
§Test things bevy!
use my_lib::{Countdown, CountdownPlugin};
// import bevy's and bevy_testing's prelude
use bevy_testing::p::*;
// create your app as usual
let mut app = App::new();
app.add_plugins(CountdownPlugin);
// useful world methods are exposed
app.spawn(Countdown(10));
// run schedules once
app.update_once();
// assert that a query returns some values
app.query::<&Countdown>()
.matches(vec![&Countdown(9)]);
§Usage
just use bevy_testing::TestApp
(view docs)!
In cases where you need more control, you can always get the world via
App::world()
and App::world_mut()
.
This library also exports bevy_testing::p
, short for prelude, which contains the entire bevy prelude as well as TestApp
.
§Query Matching
Use App::query()
to check…
method name | description |
---|---|
.matches() | if the query matches the given bundles |
.has() | if the query contains the given bundle |
.has_all() | if the query contains all given bundles |
.has_any() | if the query contains any of the given bundles |
.all() | if all bundles match the given predicate |
.any() | if any bundle matches the given predicate |
.length() | if the query matches the given length |
.not() … | to invert the test |
§Bevy versions
bevy | bevy_testing |
---|---|
0.14 | 0.1.1 |
Modules§
- p
- A module that re-exports the entire
bevy::prelude
as well asTestApp
.