Table of Contents

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
object
DevTestCli

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.

Disable()
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.