11 个版本 (稳定)
1.2.4 | 2024年7月19日 |
---|---|
1.2.2 | 2024年6月28日 |
1.1.0 | 2024年1月10日 |
1.0.0 | 2023年9月24日 |
0.1.0 | 2020年11月8日 |
#1116 in 解析器实现
每月 1,514 次下载
在 2 crate 中使用
40KB
725 行
JUnit-Parser
Rust 库,用于解析 JUnit XML 文件
示例
从从 reader
读取的 JUnit XML 数据创建一个 TestSuites
结构
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());
功能
serde
— 在 Test* 结构上启用derive(serde::{Serialize,Deserialize})
properties_as_hashmap
(默认启用)— 将属性元素解析为 hashmapproperties_as_vector
(默认启用)— 将属性元素解析为 vector
许可
本项目可在以下许可条款下使用:[BSD-2-Clause 许可](https://github.com/borisfaure/junit-parser/blob/e1548c65eb81129181bcb4317f443781b6e5b512/LICENSE.txt)。
依赖
~1.5–2.2MB
~41K SLoC