Skip to main content

test-template

Test templates with test_template.sh script

설치로 이동

소스 정보

저장소
forcedotcom/SalesforceMobileSDK-Templates
최근 소스 활동
2026년 5월 13일 20:48
감지된 SKILL.md 언어
영어
스타
58
포크
63

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
test-template
description
Test templates with test_template.sh script
type
skill
# Test Templates with test_template.sh This skill documents testing templates in the Templates repository using the `test_template.sh` script. ## Purpose After modifying templates (adding, removing, or updating), you need to verify that: 1. Template `install.js` runs successfully 2. SDK dependencies are downloaded correctly 3. Projects build successfully with Xcode (iOS) or Gradle (Android) ## Prerequisites - Templates repo with changes committed locally - Know which templates to test (or test all) - Know which SDK branches to test against (if using custom branches) ## Basic Usage ### Test Specific Template ```bash ./test_template.sh --template iOSNativeSwiftTemplate ``` ### Test on Specific Platform ```bash ./test_template.sh --template ReactNativeTemplate --platform ios ``` ### Test All Templates ```bash ./test_template.sh ``` ## Testing with Custom SDK Branches When testing template changes alongside SDK changes, you can override SDK dependencies: ### iOS SDK Override ```bash ./test_template.sh \ --msdk-ios-org wmathurin \ --msdk-ios-branch feature/new-api \ --template iOSNativeSwiftTemplate --platform ios ``` This modifies `package.json` `sdkDependencies` to use: ```json { "SalesforceMobileSDK-iOS": "https://github.com/wmathurin/SalesforceMobileSDK-iOS.git#feature/new-api" } ``` ### Android SDK Override ```bash ./test_template.sh \ --msdk-android-org wmathurin \ --msdk-android-branch feature/new-api \ --template AndroidNativeKotlinTemplate --platform android ``` ### React Native with All Overrides ```bash ./test_template.sh \ --msdk-ios-branch my-feature \ --msdk-android-branch my-feature \ --rn-force-branch my-feature \ --template ReactNativeTemplate ``` This overrides: - `SalesforceMobileSDK-iOS` dependency - `SalesforceMobileSDK-Android` dependency - `react-native-force` npm dependency ## What Gets Tested ✅ **Tested**: - `install.js` execution - SDK dependency download (to `mobile_sdk/` directory) - CocoaPods installation (iOS) - Gradle dependency resolution (Android) - Xcode build (iOS) - Gradle build (Android) ❌ **NOT Tested**: - Running the generated app - Unit tests - UI tests ## Supported Platforms | Template Type | Test Support | |---------------|--------------| | **Native (iOS)** | ✅ Full support | | **Native (Android)** | ✅ Full support | | **React Native** | ✅ Full support (iOS and Android) | | **Hybrid** | ❌ Not supported | ## Common Testing Scenarios ### After Removing a Template Test that remaining templates still work: ```bash ./test_template.sh ``` ### After Modifying a Template Test the specific modified template: ```bash ./test_template.sh --template <TemplateName> ``` ### Testing Template with SDK Changes When coordinating template changes with SDK changes: ```bash ./test_template.sh \ --msdk-ios-branch my-feature \ --msdk-android-branch my-feature \ --template ReactNativeTemplate ``` ### Testing All iOS Templates with Custom SDK ```bash # Test each iOS template manually for template in iOSNativeSwiftTemplate iOSNativeSwiftPackageManagerTemplate iOSIDPTemplate; do ./test_template.sh \ --msdk-ios-branch my-feature \ --template $template --platform ios done ``` ## Output Interpretation **Success**: - Template generates successfully - Dependencies install without errors - Build completes without errors **Failure**: - Template generation fails - `install.js` errors - Dependency installation fails - Build errors (compilation, linking, etc.) ## Validation Checklist - [ ] Test script runs without errors - [ ] All applicable templates tested - [ ] Build succeeds for all tested templates - [ ] No dependency resolution errors - [ ] No compilation errors ## Integration with Other Skills This skill is used by: - **remove-template**: After removing a template, test that remaining templates work - **add-template**: After adding a template, test that it works - **update-template**: After modifying a template, test that changes work ## Example: Testing After Template Removal ```bash cd SalesforceMobileSDK-Templates # After removing a template, test remaining iOS templates ./test_template.sh --template iOSNativeSwiftTemplate --platform ios ./test_template.sh --template iOSIDPTemplate --platform ios ./test_template.sh --template iOSNativeLoginTemplate --platform ios # Or test all templates ./test_template.sh ``` ## Example: Testing with Custom SDK Branch ```bash cd SalesforceMobileSDK-Templates # Testing modified template with custom iOS SDK ./test_template.sh \ --msdk-ios-org wmathurin \ --msdk-ios-branch fix/template-issue \ --template iOSNativeSwiftTemplate --platform ios ``` ## Notes - **test_template.sh location**: Located in Templates repo root - **Output directory**: Creates `test_output/` directory with generated projects - **Cleanup**: Script cleans up test output after successful builds - **CI Integration**: Used by GitHub Actions PR and nightly workflows - **Performance**: Testing all templates can take 30-60 minutes ## Related Documentation - See `TESTING.md` for comprehensive testing documentation - See `.github/workflows/pr.yaml` for CI test configuration - See workspace skill `test-templates.md` for cross-repo testing coordination
GitHub에서 보기