Skip to main content

runmat_test/descriptor/
fixture.rs

1use serde::{Deserialize, Serialize};
2
3use crate::identity::{FixtureGroupId, FixtureId};
4
5use super::ProcedureDescriptor;
6
7#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
8pub struct FixtureDescriptor {
9    pub id: FixtureId,
10    pub group_id: FixtureGroupId,
11    pub display_name: String,
12    pub scope: FixtureScope,
13    pub setup: Option<ProcedureDescriptor>,
14    pub teardown: Option<ProcedureDescriptor>,
15    #[serde(default)]
16    pub dependencies: Vec<FixtureId>,
17}
18
19#[derive(Clone, Copy, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Serialize, Deserialize)]
20#[serde(rename_all = "snake_case")]
21pub enum FixtureScope {
22    Run,
23    Suite,
24    Class,
25    Test,
26}