# modernize-test-starter

> Claude/Codex skill by [@ui5](https://omgskills.com/library/ui5/index.md) · 41 stars · Updated 2026-10-20

Modernize QUnit unit tests and OPA5 integration tests to the UI5 Test Starter concept. Use this skill when: - The linter reports \`prefer-test-starter\` for \*.qunit.html or \*.qunit.js files - Test HTML files use manual sap-ui-core.js bootstrapping instead of Test Starter's runTest.js/createSuite.js - Test JS files use Core.ready(), Core.attachInit(), or jsUnitTestSuite instead of sap.ui.define - OPA test HTML files exist with per-test Opa5.extendConfig and manual bootstrapping - An AllJourneys.js orchestrator loads OPA journeys dynamically - OPA journeys call \`iStartMyUIComponent\` instead of \`iStartMyAppInAFrame\` - User asks to modernize tests, modernize test infrastructure, or adopt Test Starter Handles unit tests (Core.ready removal, sap.ui.define wrapping) and OPA challenges (page-object imports, Opa5 config, journey orchestration, QUnit 1.x assert modernization, in-window-to-iframe launcher migration). Trigger on: prefer-test-starter warnings, test modernization requests, iStartMyUIComponent.

Tags: claude, development, openui5, plugin, sapui5, ui5

## Install

```sh
git clone https://github.com/UI5/plugins-coding-agents /tmp/plugins-coding-agents && ln -s /tmp/plugins-coding-agents/plugins/ui5-modernization/skills/modernize-test-starter ~/.claude/skills/modernize-test-starter
```

## From README

Modernize to Test Starter This skill modernizes a UI5 project's entire test infrastructure — both unit tests and OPA5 integration tests — to the Test Starter concept. Reference: Blog post: Simplify Your Test Why Modernize The Test Starter replaces per-test HTML bootstrapping with a single generic test page and a declarative testsuite.qunit.js configuration. Benefits: eliminates boilerplate HTML/JS, handles QUnit/Sinon/coverage automatically, ensures CSP compliance, provides consistent configuration, enables per-test isolation and parallel execution. NEVER Skip Test Starter Modernization OPA5 test HTML files are ALWAYS convertible — they follow a mechanical pattern. Invalid excuses: "complex mock server" (lives in host, not entry point), "sap.ui.define monkey-patching" (same), "FLP sandbox bootstrap" (same), "too many files" (batch-process), "too complex" (invalid).

## Links

- HTML page: https://omgskills.com/library/ui5/plugins-coding-agents/plugins/ui5-modernization/skills/modernize-test-starter/
- GitHub: https://github.com/UI5/plugins-coding-agents
- Author: [@ui5](https://omgskills.com/library/ui5/index.md)

## More from this repo

- [fix-bootstrap-params](https://omgskills.com/library/ui5/plugins-coding-agents/plugins/ui5-modernization/skills/fix-bootstrap-params/index.md) — Used to fix HTML bootstrap parameter issues that UI5 linter reports but cannot auto-fix.
   - [@ui5](https://omgskills.com/library/ui5/index.md) · 41 stars
- [fix-component-async](https://omgskills.com/library/ui5/plugins-coding-agents/plugins/ui5-modernization/skills/fix-component-async/index.md) — Used to fix Component.js async configuration issues that UI5 linter reports but cannot auto-fix.
   - [@ui5](https://omgskills.com/library/ui5/index.md) · 41 stars
- [fix-control-renderer](https://omgskills.com/library/ui5/plugins-coding-agents/plugins/ui5-modernization/skills/fix-control-renderer/index.md) — Used to fix Control renderer issues that UI5 linter reports but cannot auto-fix.
   - [@ui5](https://omgskills.com/library/ui5/index.md) · 41 stars
