ensc-testsuite

Crates.ioensc-testsuite
lib.rsensc-testsuite
version0.1.7
sourcesrc
created_at2021-04-06 08:18:02.943028
updated_at2024-06-23 11:16:53.330623
descriptionTool to generate TAP or JUnit reports
homepage
repositoryhttps://gitlab-ext.sigma-chemnitz.de/ensc/ensc-testsuite.git
max_upload_size
id379735
size108,912
Enrico Scholz (ensc)

documentation

README

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:

    • tap: nested TAP
    • junit or junit-flat: junit format
    • junit-nested: junit with nested testsuite elements
    • json: some unspecified json representation
Commit count: 0

cargo fmt