Class DevTestCli
- Namespace
- GrindFest
- Assembly
- GrindFest.dll
Command-line front door for the DevTests, so the SAME test suite that gates the editor can also gate a player build (a Steam build, a CI artefact, or a locally built exe):
GrindFest.exe -devtests [-devtests-filter=Monster] [-devtests-report="C:\path\report.txt"]
http://host/?devtests[-filter=Monster] (WebGL: the page URL is the command line)
The runner starts the filtered run once the game's systems exist, and when the run finishes this class
writes a small machine-readable report file and quits the process with exit code 0 (all passed) or 1
(failures) — so a caller can simply wait for the process and read the code, plus the full log path from
the report. Without -devtests the runner removes itself in players; nothing ships active.
Caveats worth knowing before pointing this at a real install: • DevTests are destructive by design (they clear the party mid-run) — run against a build profile whose persistent data you don't mind losing, or override the data folder where the platform allows it. • The bundle E2E gate needs an editor-built fixture and skips itself in players; the bundle BUILD gate is EditMode-only by nature (Addressables refuses to build in play mode). • Tests are discovered by reflection; the project runs with managed stripping Disabled, which is what keeps them discoverable in players. If stripping ever gets enabled, DevTest types need preserving.
public static class DevTestCli
- Inheritance
-
objectDevTestCli
Properties
- AutoRunStarted
Set by the runner the moment it consumes the request — one auto-run per session.
- Enabled
True when this session was launched (or configured) to run the test suite.
- Filter
Substring filter on ClassName.MethodName; null runs everything.
- ReportPath
Where the result report is written. Defaults to persistentDataPath/DevTestLogs/devtests_report.txt.
Methods
- Complete(int, int, string)
Called by DevTestRunner when a CLI-initiated run finishes.
- Enable(string, string)
Manual trigger — editor play mode (verification, agent runs) and in-game tooling. In a player the runner ignores requests unless Enabled came from the command line.