2 releases
0.1.2 | Aug 20, 2024 |
---|---|
0.1.1 |
|
0.1.0 | Aug 20, 2024 |
#599 in Game dev
39KB
389 lines
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 |
Dependencies
~20–34MB
~498K SLoC