macro_rules! gui_coverage {
{
$(buttons: [$($btn:expr),* $(,)?])?
$(, inputs: [$($inp:expr),* $(,)?])?
$(, screens: [$($scr:expr),* $(,)?])?
$(, modals: [$($mod:expr),* $(,)?])?
$(,)?
} => { ... };
}Expand description
Create a GUI coverage tracker with minimal boilerplate
ยงExample
use jugar_probar::gui_coverage;
// Define what needs to be tested
let mut gui = gui_coverage! {
buttons: ["start", "pause", "quit"],
inputs: ["username", "password"],
screens: ["login", "main", "settings"]
};
// During tests, record interactions
gui.click("start");
gui.input("username");
gui.visit("login");
// Check coverage
println!("{}", gui.summary()); // "GUI: 33% (3/9 elements, 1/3 screens)"
assert!(gui.meets(30.0)); // At least 30% covered