8 releases
0.1.7 | Jun 23, 2024 |
---|---|
0.1.6 | Oct 30, 2021 |
0.1.5 | Jun 26, 2021 |
0.1.4 | Apr 22, 2021 |
#160 in Testing
74KB
2.5K
SLoC
Library for writing plans for integration and e2e tests. Results can be given
out in nested TAP,
junit
and some junit dialect which allows nested testsuite
elements.
Usage:
use ensc_testsuite::PlanRunner;
#[test]
fn test() {
let p = PlanRunner::new();
p.run("init", |p| {
p.ok("create database", || database.create());
let admin: Admin =
p.ok("create admin", || database.create_admin()).into();
p.fail("create 2nd admin", || database.create_admin());
p.eq("exactly one admin", 1, database.count_admin());
p.new_plan("some other test")
.set_skip(easter_is_at_xmas(), "strange event")
.run(|p| {
p.ok("....", || true);
});
});
// not really necessary
p.destruct();
}
When running cargo test
, two environment variables must be set:
-
TESTSUITE_OUTPUT
: the basename of the output file; depending on the chosen format a suffix like.tap
or.junit
will be appended -
TESTSUITE_FORMAT
: a comma separated list of output formats. Supported values are:
Dependencies
~5–15MB
~206K SLoC