13 releases (stable)
1.3.1 | Oct 28, 2024 |
---|---|
1.2.4 | Jul 19, 2024 |
1.1.0 | Jan 10, 2024 |
1.0.0 | Sep 24, 2023 |
0.1.0 | Nov 8, 2020 |
#1336 in Parser implementations
714 downloads per month
Used in 2 crates
41KB
741 lines
JUnit-Parser
Rust library to parse JUnit XML files
Example
Create a
TestSuites
structure from a JUnit XML data read from reader
:
use std::io::Cursor;
let xml = r#"
<testsuite tests="3" failures="1">
<testcase classname="foo1" name="ASuccessfulTest"/>
<testcase classname="foo2" name="AnotherSuccessfulTest"/>
<testcase classname="foo3" name="AFailingTest">
<failure type="NotEnoughFoo"> details about failure </failure>
</testcase>
</testsuite>
"#;
let cursor = Cursor::new(xml);
let r = junit_parser::from_reader(cursor);
assert!(r.is_ok());
let t = r.unwrap();
assert_eq!(t.suites.len(), 1);
let ts = &t.suites[0];
assert_eq!(ts.tests, 3);
assert_eq!(ts.failures, 1);
assert_eq!(ts.cases.len(), 3);
assert!(ts.cases[0].status.is_success());
assert!(ts.cases[2].status.is_failure());
Features
serde
— Enablesderive(serde::{Serialize,Deserialize})
on the Test* structures.properties_as_hashmap
(enabled by default) — Parse the properties element as a hashmapproperties_as_vector
(enabled by default) — Parse the properties element as a vector
License
This project is available under the terms of either the BSD-2-Clause license.
Dependencies
~1.4–2.1MB
~39K SLoC