Ionia Runner
A VS Code extension that allows you to easily run integration test scenarios and features from .feature
files.
Features
- ✅ Run Feature button on every
Feature:
line in feature files
- ✅ Run Scenario button on every
Scenario:
line in feature files
- ✅ Automatic container name retrieval from docker-compose.yml file
- ✅ Automatic command execution in terminal
Installation
1. Prepare Extension Files
Clone this repository:
git clone <repository-url>
cd ionia-runner
2. Install Required Packages
npm install
3. Compile Extension
npm run compile
4. Install Extension to VS Code
Open VS Code Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
) and run:
Extensions: Install from VSIX...
Or via terminal:
# Package the extension
npm install -g vsce
vsce package
# Install the .vsix file
code --install-extension ionia-runner-1.0.0.vsix
Usage
- Open a
.feature
file
- You'll see ▶️ Run Feature buttons on
Feature:
lines
- You'll see ▶️ Run Scenario buttons on
Scenario:
lines
- Click these buttons to run the tests
How It Works
The extension runs the following commands:
- For Feature:
bash .build/src/ionia-debug.sh {ContainerName} f:{FeatureName}
- For Scenario:
bash .build/src/ionia-debug.sh {ContainerName} s:{ScenarioName}
Container name is automatically retrieved from the services.app.container_name
value in docker-compose.yml
file.
Requirements
- VS Code 1.60.0+
- Node.js
- Docker Compose file must be in project root
.build/src/ionia-debug.sh
script must be available
File Structure
project-root/
├── docker-compose.yml # Container name is retrieved from here
├── .build/src/ionia-debug.sh # Test execution script
└── ci-test/integration-cdc/ # Feature files are located here
├── cdc/
│ └── *.feature
└── integration/
└── */
└── *.feature
Development
To develop the extension:
# Install dependencies
npm install
# Compile
npm run compile
# Watch for changes
npm run watch
Testing
To test the extension:
- Open this project in VS Code
- Press
F5
to open Extension Development Host
- Open a
.feature
file in the new window
- Verify that play buttons appear
License
MIT