Testing Strategy
Testing this library requires a multi-layered approach:
- Unit tests — Flutter tests with mocked MethodChannel
- Manual QA — Testing on real devices across scenarios
Unit Tests
Running Tests
Test Structure
Unit tests use Flutter’s test framework with a mocked MethodChannel:
Testing Error Handling
Manual QA Testing
Manual testing must be performed on real devices because the SEON SDKs require actual hardware.
Prerequisites
- Real iOS device (iOS 13+)
- Real Android device (API 26+)
- Valid SEON API credentials
- Debug and release builds
Test Checklist
Initialization Tests
Complete Flow Tests
Cancellation Tests
Error Scenarios
UI/UX Tests
State Management
Test App Template
Device Requirements
- Test on real iPhone or iPad
- Test on iOS 13, 14, 15, and latest version
- Test on different device sizes (iPhone SE, standard, Pro Max)
- Test in both portrait and landscape orientations
- Test on real Android devices
- Test on API levels: 26 (minimum), 29, 31, 33, and latest
- Test on different manufacturers (Samsung, Google Pixel, etc.)
- Test on different screen sizes
- Test in both portrait and landscape orientations
The SEON SDKs require real device hardware and will not work on simulators or emulators. Always test on physical devices.
Continuous Integration
Unit tests can be automated in CI. Device testing cannot be automated due to real device requirements.