Surfaced while triaging discussion #2887 (mikegrogan). The runtime set(subpath=...) fix landed in 4.0.5 and works, but three testing-layer gaps remain for apps served from a subfolder / CommandBox multi-app topology. These are distinct from #3025 (a refactor-scoped fix for the web runner mutating live application.wheels, not the items below).
1. ?format=html on the app test endpoint silently returns JSON
vendor/wheels/tests/app-runner.cfm:117-131 — the html branch (which is also the no-format default) emits application/json, not an HTML report. The inline comment says this is deliberate ("for the app-runner we just emit the JSON in this branch too"). Only the core runner (vendor/wheels/tests/runner.cfm) falls through to html.cfm.
A user opening /wheels/app/tests?format=html in a browser reasonably expects the TestBox-style HTML report and instead gets raw JSON, with no documentation of the limitation.
2. runner.cfm hardcodes /wheels/tests/app-runner.cfm — breaks subfolder topologies
The shipped template cli/lucli/templates/app/tests/runner.cfm does <cfinclude template="/wheels/tests/app-runner.cfm">, which depends on the /wheels mapping resolving correctly. In a CommandBox multi-subfolder setup the mapping doesn't resolve the way it does for a single rooted app, so the include fails.
3. Testing guide over-states what wheels new scaffolds
web/sites/guides/src/content/docs/v4-0-0/testing/index.mdx:29,32,94 documents tests/specs/view/, tests/specs/browser/, and tests/TestRunner.cfc. The template (cli/lucli/templates/app/tests/) ships only specs/{controllers,functional,models}/ and no TestRunner.cfc. New users following the guide look for folders/files that don't exist.
Note: the reporter's CLI errors stem from running the outdated CommandBox/ForgeBox wheels-cli package (tracked at #3180/#3181), not a missing framework fix — wheels test --base-path shipped in PR #3028. That is being addressed directly in the discussion thread.
Surfaced while triaging discussion #2887 (mikegrogan). The runtime
set(subpath=...)fix landed in 4.0.5 and works, but three testing-layer gaps remain for apps served from a subfolder / CommandBox multi-app topology. These are distinct from #3025 (arefactor-scoped fix for the web runner mutating liveapplication.wheels, not the items below).1.
?format=htmlon the app test endpoint silently returns JSONvendor/wheels/tests/app-runner.cfm:117-131— thehtmlbranch (which is also the no-format default) emitsapplication/json, not an HTML report. The inline comment says this is deliberate ("for the app-runner we just emit the JSON in this branch too"). Only the core runner (vendor/wheels/tests/runner.cfm) falls through tohtml.cfm.A user opening
/wheels/app/tests?format=htmlin a browser reasonably expects the TestBox-style HTML report and instead gets raw JSON, with no documentation of the limitation./wheels/app/testssupportsformat=json|txt|junitonly andhtmlreturns JSON by design.2.
runner.cfmhardcodes/wheels/tests/app-runner.cfm— breaks subfolder topologiesThe shipped template
cli/lucli/templates/app/tests/runner.cfmdoes<cfinclude template="/wheels/tests/app-runner.cfm">, which depends on the/wheelsmapping resolving correctly. In a CommandBox multi-subfolder setup the mapping doesn't resolve the way it does for a single rooted app, so the include fails.set(subpath=...)/WHEELS_SUBPATHderivation) instead of an absolute/wheels/...path.3. Testing guide over-states what
wheels newscaffoldsweb/sites/guides/src/content/docs/v4-0-0/testing/index.mdx:29,32,94documentstests/specs/view/,tests/specs/browser/, andtests/TestRunner.cfc. The template (cli/lucli/templates/app/tests/) ships onlyspecs/{controllers,functional,models}/and noTestRunner.cfc. New users following the guide look for folders/files that don't exist.Note: the reporter's CLI errors stem from running the outdated CommandBox/ForgeBox
wheels-clipackage (tracked at #3180/#3181), not a missing framework fix —wheels test --base-pathshipped in PR #3028. That is being addressed directly in the discussion thread.