# Makepad Testing Best Practices Guide ## Overview Makepad is a creative software development platform for Rust that compiles to multiple platforms (Web/WASM, macOS/Metal, Windows/DX11, Linux/OpenGL). Unlike some UI frameworks, **Makepad does not have a dedicated automated UI testing framework** like `makepad-test`. However, Makepad applications can be thoroughly tested using: 1. **Manual testing** via `cargo run` 2. **Unit tests** using Rust's standard `#[test]` framework 3. **Integration tests** for business logic 4. **Visual regression testing** (custom implementation) 5. **Platform-specific testing** (iOS, Android, Web, Desktop) ## Testing Architecture ### 1. Application Structure for Testability Makepad applications follow a specific structure that separates concerns: ```rust // src/main.rs - Entry point pub use makepad_widgets; use makepad_widgets::*; app_main!(App); // src/app.rs - Application logic live_design! { import makepad_widgets::base::*; import makepad_widgets::theme_desktop_dark::*; App = {{App}} { ui: { window: {inner_size: vec2(800, 600)}, pass: {clear_color: #000} body = { flow: Down, spacing: 10, padding: 20, title =