Files
aliasvault/docs/misc/dev/mobile-apps/ios/e2e-testing.md
2026-01-14 16:52:38 +01:00

104 lines
2.5 KiB
Markdown

# iOS Testing Guide
This guide explains how to run the iOS test suites for the AliasVault mobile app.
## Overview
The iOS app has two test targets:
1. **AliasVaultUITests** - End-to-end UI tests that test full user flows
2. **VaultStoreKitTests** - Unit tests for the native VaultStoreKit framework
## Prerequisites
- macOS with Xcode installed (15.0+)
- iOS Simulator configured
- Node.js 20+
- CocoaPods dependencies installed (`cd apps/mobile-app && npx pod-install`)
- For UI tests: Local API server running at `http://localhost:5092`
## Running Tests
### Via Xcode
1. Open the project in Xcode:
```bash
cd apps/mobile-app/ios
open AliasVault.xcworkspace
```
2. Select a simulator (e.g., iPhone 16 Pro)
3. Run tests:
- **All tests**: `Cmd + U` or Product > Test
- **Specific test class**: Click the diamond icon next to the test class in the Test Navigator
- **Single test**: Click the diamond icon next to a specific test method
### Via Command Line (xcodebuild)
#### Run All Tests
```bash
cd apps/mobile-app/ios
# Run all tests on iPhone 17 Pro simulator
xcodebuild test \
-workspace AliasVault.xcworkspace \
-scheme AliasVault \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-resultBundlePath ./test-results
```
#### Run UI Tests Only
```bash
xcodebuild test \
-workspace AliasVault.xcworkspace \
-scheme AliasVault \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing:AliasVaultUITests
```
#### Run VaultStoreKit Unit Tests Only
```bash
xcodebuild test \
-workspace AliasVault.xcworkspace \
-scheme AliasVault \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing:VaultStoreKitTests
```
#### Run a Specific Test
```bash
# Run a specific test class
xcodebuild test \
-workspace AliasVault.xcworkspace \
-scheme AliasVault \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing:AliasVaultUITests/AliasVaultUITests
# Run a specific test method
xcodebuild test \
-workspace AliasVault.xcworkspace \
-scheme AliasVault \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing:AliasVaultUITests/AliasVaultUITests/test01AppLaunch
```
#### With Custom API URL (for UI tests)
```bash
API_URL="http://your-server:5092" xcodebuild test \
-workspace AliasVault.xcworkspace \
-scheme AliasVault \
-destination 'platform=iOS Simulator,name=iPhone 17 Pro' \
-only-testing:AliasVaultUITests
```
### List Available Simulators
```bash
xcrun simctl list devices available
```