You've already forked wp-bootstrap
Add PHPUnit test suite with 64 unit tests (v1.1.1)
PHPUnit 11 + Brain\Monkey for WordPress function mocking. Tests cover BlockRenderer (28), WidgetRenderer (9), NavWalker (14), and TemplateController (12). Includes functional WP_HTML_Tag_Processor stub, CI test job between lint and build-release, prebuild hook gating npm build on passing tests, and release package exclusions for test files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -24,10 +24,31 @@ jobs:
|
||||
run: |
|
||||
find . -name "*.php" -not -path "./vendor/*" -not -path "./node_modules/*" -print0 | xargs -0 -n1 php -l
|
||||
|
||||
test:
|
||||
name: PHPUnit Tests
|
||||
runs-on: ubuntu-latest
|
||||
needs: [lint]
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: '8.3'
|
||||
extensions: mbstring, xml, dom
|
||||
tools: composer:v2
|
||||
|
||||
- name: Install Composer dependencies
|
||||
run: composer install --no-interaction
|
||||
|
||||
- name: Run PHPUnit
|
||||
run: composer exec -- phpunit
|
||||
|
||||
build-release:
|
||||
name: Build Release
|
||||
runs-on: ubuntu-latest
|
||||
needs: [lint]
|
||||
needs: [test]
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
@@ -120,6 +141,9 @@ jobs:
|
||||
-x "${THEME_NAME}/*.log" \
|
||||
-x "${THEME_NAME}/*.po~" \
|
||||
-x "${THEME_NAME}/*.bak" \
|
||||
-x "${THEME_NAME}/tests/*" \
|
||||
-x "${THEME_NAME}/phpunit.xml.dist" \
|
||||
-x "${THEME_NAME}/.phpunit.cache/*" \
|
||||
-x "${THEME_NAME}/views/.gitkeep" \
|
||||
-x "${THEME_NAME}/assets/images/.gitkeep" \
|
||||
-x "*.DS_Store"
|
||||
@@ -187,6 +211,14 @@ jobs:
|
||||
echo "src/ excluded: OK"
|
||||
fi
|
||||
|
||||
# Verify tests excluded
|
||||
if unzip -l "releases/${THEME_NAME}-${VERSION}.zip" | grep -q "${THEME_NAME}/tests/"; then
|
||||
echo "WARNING: tests/ directory should be excluded"
|
||||
exit 1
|
||||
else
|
||||
echo "tests/ excluded: OK"
|
||||
fi
|
||||
|
||||
- name: Extract changelog for release notes
|
||||
id: changelog
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user