- Supported Skript Version
- 2.9
- 2.10
- 2.11
- 2.12
- 2.13
- 2.14
- 2.15
- 2.16
- 2.17
Write Skript. Run real tests. Ship with confidence.
A testing workbench for Skript developers, right inside VS Code. Catch source issues, check your code offline, and run real Paper/Skript assertions. Bring your results together in a dashboard designed for everyday development.
Free · MIT open source · Local execution · No account or telemetry required
Download 1.0.0 · Getting started · Support
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Why SkTestLab?
A successful reload is a useful start. Repeatable tests help you check the behavior behind your scripts: reward calculations, boundary values, expected failures, and the functions you change most often.
Keep .sk files and .sktest.json tests together in your project. Run a check from VS Code's native Test Explorer, inspect the evidence, and rerun failures while you work.
A real function. An explicit expectation.
From the included Reward Lab example, reward.sk:
Code:
function labReward(tasks: number, multiplier: number) :: number:
if {_tasks} < 0:
return 0
if {_multiplier} < 0:
return 0
set {_coins} to floor({_tasks} * 10 * {_multiplier})
if {_coins} > 1000:
return 1000
return {_coins}
Save this runtime test beside it as reward-check.sktest.json:
Code:
{
"schemaVersion": 1,
"id": "reward-check",
"name": "Five completed tasks earn 50 coins",
"mode": "runtime",
"targets": ["reward.sk"],
"timeoutMs": 300000,
"actions": ["set {_reward} to labReward(5, 1)"],
"assertions": [
{ "condition": "{_reward} is 50", "message": "Expected 50 coins" }
]
}
Configure Runtime, then run it from Test Explorer. Keep .sk and .sktest.json files together in version control, so the behavior you expect travels with your script.
Features
Diagnostics while you write
• Twelve configurable diagnostic rules with confidence labels.
• Targeted Quick Fixes and cross-file declaration warnings.
• Analyze a file or workspace from the Command Palette.
• Works alongside your existing syntax-highlighting extension.
• Assert diagnostics, declared symbols, source text, and structure.
• Run without Minecraft, server JARs, or Java.
• Versioned .sktest.json definitions, JSON Schema, and snippets.
• Generate starting expectations from declarations and review them before use.
Real Paper/Skript execution
• Select your compatible Paper/Skript JARs and Java executable.
• Invoke project functions and evaluate Skript conditions in console context.
• Disposable server environments, loopback networking, and owned-directory cleanup.
• Observed runtime versions and console evidence retained with results.
• Discover and organize tests in Test Explorer.
• Run selections, related-file tests, or an entire suite.
• Rerun failures, cancel execution, and inspect assertion differences.
• Project setup, test generation, analysis, and runtime validation commands.
Results, history, and reports
• Searchable results, filters, sorting, and expandable assertion evidence.
• Source links, console excerpts, workspace history, and runtime readiness checks.
• Trends for comparable test selections and slowest-test insights.
• Export JSON, HTML, or JUnit reports; use the offline CLI for scripted checks.
Your dashboard, your style
Choose White, Dark, or Follow VS Code. Your appearance choice is remembered.
Search, filter, and sort results; expand assertion details; inspect runtime readiness; and follow trends for comparable test selections. Passing, failing, skipped, cancelled, and errored outcomes stay distinct, so incomplete runs do not become a misleading green result.
Included example: Reward Lab
Start with a small reward calculator written in ordinary Skript. Its tests check normal rewards, invalid inputs, rounding, and the reward cap, with seven real runtime assertions and an offline source check.
No addons or automated players are needed for the example.
The download contains the SkTestLab extension and the Reward Lab example.
Installation
• Download the extension and example ZIP and extract it.
• In VS Code, open Extensions → … → Install from VSIX and select the included extension.
• Extract reward-lab.zip and open its reward-lab folder in VS Code.
• Run the example's offline test from Test Explorer, then use SkTestLab: Open Dashboard to inspect the result.
• For real server tests, run SkTestLab: Configure Runtime, select your local Java and compatible Paper/Skript JARs, accept the Minecraft EULA, and run the runtime example.
Requirements
• Editor — VS Code 1.96 or newer
• Desktop — Windows x64
• Offline checks — No Minecraft server or Java required
• Runtime server — Compatible Paper for Minecraft 1.21+
• Skript — Verified minor lines 2.9–2.17; choose a release compatible with your Paper version
• Java — Java 21.0.12 used for recorded pairings; follow the requirements of your selected Paper release
• Runtime setup — Trusted workspace, local Java and JARs, Minecraft EULA acceptance
Server and plugin JARs are obtained separately.
Testing and compatibility
Ten exact Paper/Skript combinations passed seven Reward Lab assertions each, using Paper 1.21, 1.21.4, or 1.21.11 and Java 21.0.12. The badges summarize this scope; they do not certify every patch pairing. Newer servers may need a different Java version. Other combinations and addons need local verification. Linux, macOS, and Windows ARM64 are not certified for this release.
Release verification also includes 166 unit tests, extension-host and distribution checks, and real runtime checks for failing assertions, parser errors, warning-only scripts, cancellation, and cleanup. See the verification record for the scope and recorded evidence.
View the exact tested pairings
Useful commands
Open the Command Palette and search for SkTestLab:
• Initialize Project and Create Test to get started.
• Analyze Current File or Analyze Workspace for diagnostics.
• Run All Tests, Run Failed Tests, and Stop Tests for execution.
• Configure Runtime and Validate Runtime Environment for server setup.
• Open Dashboard, Open Test Logs, and Export Test Report for results.
Documentation
• First project — Getting started · Installation
• Test definitions — Assertions and lifecycle · Reward Lab
• Editor tools — Diagnostics · Configuration
• Runtime — Paper/Skript testing · Compatibility
• Operations — Troubleshooting · Verification
• Project — Architecture · Roadmap
Support and contributions
Report a bug or request a feature. Contributions are welcome; read the contribution guide.
When reporting an issue, include your SkTestLab, VS Code, Paper, Skript, and Java versions, relevant test output, and a small example that reproduces it. Remove private information before sharing logs.
Known limitations
Offline checks use structural heuristics rather than a complete Skript parser. Runtime tests use console context and exported functions. Automated players, arbitrary event simulation, debugging, and coverage are outside version 1.0.0. Disposable environments keep production worlds separate; scripts and JARs still run with your operating system permissions.
License
MIT. Free and open source. See the license.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Made by DHeaven · SkTestLab 1.0.0 · MIT






