mirror of
https://github.com/leptos-rs/leptos.git
synced 2025-12-27 08:44:28 -05:00
E2E Testing
This example demonstrates e2e testing with Rust using executable requirements.
Testing Stack
| Role | Description | |
|---|---|---|
| Cucumber | Test Runner | Run Gherkin specifications as Rust tests |
| Fantoccini | Browser Client | Interact with web pages through WebDriver |
| Cargo Leptos | Build Tool | Compile example and start the server and end-2-end tests |
| chromedriver | WebDriver | Provide WebDriver for Chrome |
Testing Organization
Testing is organized around what a user can do and see/not see. Test scenarios are grouped by the user action and the object of that action. This makes it easier to locate and reason about requirements.
Here is a brief overview of how things fit together.
features
└── {action}_{object}.feature # Specify test scenarios
tests
├── fixtures
│ ├── action.rs # Perform a user action (click, type, etc.)
│ ├── check.rs # Assert what a user can see/not see
│ ├── find.rs # Query page elements
│ ├── mod.rs
│ └── world
│ ├── action_steps.rs # Map Gherkin steps to user actions
│ ├── check_steps.rs # Map Gherkin steps to user expectations
│ └── mod.rs
└── app_suite.rs # Test main