Skip to main content

معلومات المصدر

المستودع
forcedotcom/SalesforceMobileSDK-Templates
آخر نشاط في المصدر
١٣ مايو ٢٠٢٦ في ٢٠:٤٨
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٥٨
التفرعات
٦٣

خيارات التثبيت

يُحدَّد 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