uloop-run-tests
uloop run-tests
Execute Unity Test Runner. When tests fail, NUnit XML results with error messages and stack traces are automatically saved. Read the XML file at XmlPath for detailed failure diagnosis.
uloop run-tests automatically compiles pending script changes before running tests. Pass --skip-compile only while validating active hot-reload patches, because the compile clears those patches; otherwise let the default compile surface errors and run against current scripts. --skip-compile skips only the CLI-side compile: Unity still imports script edits saved since the last compile, and that import reloads the domain as soon as the run releases its assembly lock, discarding active patches and ending the request.
Before executing tests, uloop run-tests handles unsaved loaded Scene and Prefab Stage changes according to --unsaved-changes (default save): save writes them first, fail stops if any remain, and discard reloads disk state so tests run against saved files. Untitled scenes cannot be discarded and fail. If the chosen mode cannot proceed, it returns Success: false, keeps TestCount at 0, lists the items in Message, and does not start the Unity Test Runner.
Active pause points are automatically cleared (the underlying code patches are removed as well) before test execution begins. Cleared IDs are reported in the response's ClearedPausePointIds field.
A test run can end by discarding active hot-reload changes: script edits imported during the run are compiled when the test runner releases its assembly-reload lock, and that deferred domain reload wipes the patches even though the tests themselves ran patched. The response's Warning field reports this; re-apply 'uloop hot-reload' or bake the edits in with 'uloop compile' before the next Play or test run.
NoTestsFound means zero tests matched — not a test failure. Check NoTestsFoundExplanation and Message for asmdef hints. When an unfiltered run finds no tests and the project has no test assembly for the TestMode, ProposedTestAsmdef carries a ready-to-write .asmdef: save Content at AssetPath, move the test scripts under that folder, then compile and rerun.
Usage
uloop run-tests [options]