pub struct CoverageReport {
pub visited_states: HashSet<String>,
pub visited_transitions: HashSet<String>,
pub total_states: usize,
pub total_transitions: usize,
}Expand description
カバレッジ情報を表す構造体
Fields§
§visited_states: HashSet<String>テストされた状態
visited_transitions: HashSet<String>テストされた遷移
total_states: usize全状態の数
total_transitions: usize全遷移の数
Implementations§
Source§impl CoverageReport
impl CoverageReport
Sourcepub fn state_coverage(&self) -> f64
pub fn state_coverage(&self) -> f64
状態カバレッジの割合(%)を計算
Examples found in repository?
examples/model_based_testing.rs (line 180)
172fn print_test_results(results: &rustate::TestResults) {
173 println!("総テスト数: {}", results.total_count());
174 println!("成功: {}", results.success_count());
175 println!("失敗: {}", results.failure_count());
176 println!("成功率: {:.1}%", results.success_rate());
177
178 // カバレッジレポート
179 let coverage = results.get_coverage();
180 println!("状態カバレッジ: {:.1}%", coverage.state_coverage());
181 println!("遷移カバレッジ: {:.1}%", coverage.transition_coverage());
182
183 // 失敗したテストがあれば詳細を表示
184 let failed_tests = results
185 .results
186 .iter()
187 .filter(|r| !r.success)
188 .collect::<Vec<_>>();
189 if !failed_tests.is_empty() {
190 println!("\n失敗したテスト:");
191 for failed in failed_tests {
192 println!(
193 "- {}: 期待={}, 実際={}",
194 failed.test_name, failed.expected_state, failed.actual_state
195 );
196 if let Some(err) = &failed.error_message {
197 println!(" エラー: {}", err);
198 }
199 }
200 }
201}Sourcepub fn transition_coverage(&self) -> f64
pub fn transition_coverage(&self) -> f64
遷移カバレッジの割合(%)を計算
Examples found in repository?
examples/model_based_testing.rs (line 181)
172fn print_test_results(results: &rustate::TestResults) {
173 println!("総テスト数: {}", results.total_count());
174 println!("成功: {}", results.success_count());
175 println!("失敗: {}", results.failure_count());
176 println!("成功率: {:.1}%", results.success_rate());
177
178 // カバレッジレポート
179 let coverage = results.get_coverage();
180 println!("状態カバレッジ: {:.1}%", coverage.state_coverage());
181 println!("遷移カバレッジ: {:.1}%", coverage.transition_coverage());
182
183 // 失敗したテストがあれば詳細を表示
184 let failed_tests = results
185 .results
186 .iter()
187 .filter(|r| !r.success)
188 .collect::<Vec<_>>();
189 if !failed_tests.is_empty() {
190 println!("\n失敗したテスト:");
191 for failed in failed_tests {
192 println!(
193 "- {}: 期待={}, 実際={}",
194 failed.test_name, failed.expected_state, failed.actual_state
195 );
196 if let Some(err) = &failed.error_message {
197 println!(" エラー: {}", err);
198 }
199 }
200 }
201}Trait Implementations§
Source§impl Clone for CoverageReport
impl Clone for CoverageReport
Source§fn clone(&self) -> CoverageReport
fn clone(&self) -> CoverageReport
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CoverageReport
impl Debug for CoverageReport
Source§impl<'de> Deserialize<'de> for CoverageReport
impl<'de> Deserialize<'de> for CoverageReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CoverageReport
impl RefUnwindSafe for CoverageReport
impl Send for CoverageReport
impl Sync for CoverageReport
impl Unpin for CoverageReport
impl UnwindSafe for CoverageReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more