#[test]
fn test_parse_error_variant() {
use anyhow::Context;
let result: Result<(), anyhow::Error> = Err(std::io::Error::new(
std::io::ErrorKind::InvalidData,
"Failed to parse non-nullable column 'name' (expected String type)",
))
.context("Parse error");
let error = result.unwrap_err();
let error_msg = format!("{}", error);
assert!(error_msg.contains("Parse error"));
let found_column_error = error.chain().any(|e| {
e.to_string()
.contains("Failed to parse non-nullable column")
});
assert!(
found_column_error,
"错误链中应包含 'Failed to parse non-nullable column'"
);
let found_name = error.chain().any(|e| e.to_string().contains("name"));
assert!(found_name, "错误链中应包含 'name'");
}