在 Rust 中使用 Egui 進行單元測試,你可以遵循以下步驟:
在你的 Cargo.toml
文件中,添加 egui
和 eframework
的依賴項:
[dependencies]
egui = "0.18"
eframework = "0.18"
創建一個名為 main.rs
的文件,并編寫一個簡單的 Egui 應用程序:
use eframe::egui;
fn main() {
let options = eframe::NativeOptions::default();
eframe::run_native(
"My Egui App",
options,
Box::new(|cc| Box::new(MyApp::new(cc))),
);
}
struct MyApp {
value: f32,
}
impl MyApp {
fn new(_cc: &eframe::CreationContext<'_>) -> Self {
MyApp { value: 0.0 }
}
}
impl eframe::App for MyApp {
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("Hello, Egui!");
ui.add(egui::Slider::new(&mut self.value, 0.0..=10.0).text("Value"));
});
}
}
創建一個名為 main_test.rs
的文件,并編寫一個單元測試:
use eframe::egui;
use my_egui_app::{MyApp, MyAppState};
use test::Bencher;
#[cfg(test)]
mod tests {
use super::*;
#[bench]
fn bench_update(b: &mut Bencher) {
let options = eframe::NativeOptions::default();
let mut app = MyApp::new(&options);
let ctx = eframe::Context::new(&options);
b.iter(|| {
app.update(&ctx, &mut eframe::Frame::default());
});
}
}
在這個例子中,我們使用了 test
模塊中的 Bencher
來進行基準測試。你可以根據需要編寫其他類型的單元測試。
在終端中,進入你的項目目錄并運行以下命令來執行單元測試:
cargo test
這將運行你的單元測試并顯示結果。
注意:在上面的示例中,我假設你的項目名為 my_egui_app
。請根據你的項目名稱進行相應的調整。