This guide explains how to run JavaScript tests for the Axion framework.
./run_javascript_tests.sh
This will:
./run_javascript_tests.sh --install-only
./run_javascript_tests.sh --clean
# Run tests with coverage (default)
./run_javascript_tests.sh
# Run tests in watch mode (auto-rerun on file changes)
./run_javascript_tests.sh --watch
# Run in CI mode (for automation/pipelines)
./run_javascript_tests.sh --ci
# Show help
./run_javascript_tests.sh --help
The test suite includes 73 tests covering:
After running tests, view the coverage report:
# Open in browser
open resource.test/javascript-coverage/index.html
# Or use your browser
firefox resource.test/javascript-coverage/index.html
If you prefer to run tests manually:
cd resource.web/javascript
# Install dependencies
npm install
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run specific test file
npm run test:axion
npm run test:rpc
# Watch mode
npm run test:watch
The script will attempt to install Node.js automatically. If this fails:
Linux:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
macOS:
brew install node@18
The script will upgrade npm automatically. If this fails:
sudo npm install -g npm@latest
chmod +x run_javascript_tests.sh
node --version (should be >= 18.0.0)npm --version (should be >= 9.0.0)./run_javascript_tests.sh --clean# Clean everything and reinstall
cd resource.web/javascript
rm -rf node_modules package-lock.json
npm install
name: JavaScript Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run JavaScript Tests
run: ./run_javascript_tests.sh --ci
test:javascript:
image: node:18
script:
- ./run_javascript_tests.sh --ci
coverage: '/Lines\s+:\s+(\d+\.\d+)%/'
run_javascript_tests.sh - Test runner script (this script)resource.web/javascript/axion.test.js - axion.js testsresource.web/javascript/axion.rpc.test.js - axion.rpc.js testsresource.web/javascript/TESTING.md - Detailed testing documentationresource.web/javascript/package.json - Dependencies and scriptsresource.web/javascript/jest.config.js - Jest configurationFor detailed testing documentation, see:
resource.web/javascript/TESTING.md - Comprehensive testing guideresource.web/javascript/axion.md - Code quality documentationFor issues:
TESTING.md for detailed troubleshooting--clean flagVersion: 1.3.0 (Phase 3)
Last Updated: 2025-12-20