1use std::fmt;
4
5#[derive(Debug)]
7pub enum TestingError {
8 MockError(String),
10
11 AssertionFailed(String),
13
14 FixtureError(String),
16
17 EnvironmentError(String),
19
20 Timeout(String),
22
23 SerializationError(String),
25}
26
27impl fmt::Display for TestingError {
28 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
29 match self {
30 TestingError::MockError(msg) => write!(f, "Mock error: {}", msg),
31 TestingError::AssertionFailed(msg) => write!(f, "Assertion failed: {}", msg),
32 TestingError::FixtureError(msg) => write!(f, "Fixture generation failed: {}", msg),
33 TestingError::EnvironmentError(msg) => write!(f, "Test environment setup failed: {}", msg),
34 TestingError::Timeout(msg) => write!(f, "Operation timeout: {}", msg),
35 TestingError::SerializationError(msg) => write!(f, "Serialization error: {}", msg),
36 }
37 }
38}
39
40impl std::error::Error for TestingError {}
41
42pub type TestingResult<T> = Result<T, TestingError>;