uloop-run-tests

提供 Unity 项目自动化测试执行能力,支持编辑模式与运行模式下的单元测试触发,可按名称、正则或程序集筛选特定测试用例,并生成结构化测试报告,包含通过率、失败数及详细执行日志。

快捷安装

在终端运行此命令,即可一键安装该 Skill 到您的 Claude 中

npx skills add hatayama/uLoopMCP --skill "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.

Before executing tests, uloop run-tests checks for unsaved loaded Scene changes and unsaved current Prefab Stage changes. If any are found, it returns Success: false, keeps TestCount at 0, lists the unsaved items in Message, and does not start the Unity Test Runner. Save or discard those editor changes, then rerun the command. Use --save-before-run true only when the user explicitly asks to save editor changes before continuing.

Usage

uloop run-tests [options]

Parameters

ParameterTypeDefaultDescription
--test-modestringEditModeTest mode: EditMode, PlayMode
--filter-typestringallFilter type: all, exact, regex, assembly
--filter-valuestring-Filter value (test name, pattern, or assembly)
--save-before-runbooleanfalseSave unsaved loaded Scene changes and current Prefab Stage changes before running tests

Global Options

OptionDescription
--project-path <path>Optional. Use only when the target Unity project is not the current directory.

Examples

# Run all EditMode tests
uloop run-tests

# Run PlayMode tests
uloop run-tests --test-mode PlayMode

# Save explicitly approved editor changes before running tests
uloop run-tests --save-before-run true

# Run specific test
uloop run-tests --filter-type exact --filter-value "MyTest.TestMethod"

# Run tests matching pattern
uloop run-tests --filter-type regex --filter-value ".*Integration.*"

Output

Returns JSON with:

  • Success (boolean): Whether all tests passed
  • Message (string): Summary message
  • CompletedAt (string): ISO timestamp when the run finished
  • TestCount (number): Total tests executed
  • PassedCount (number): Passed tests
  • FailedCount (number): Failed tests
  • SkippedCount (number): Skipped tests
  • XmlPath (string): Path to NUnit XML result file. Empty string when no XML was saved (typically on Success: true); populated only when tests failed and the XML file exists on disk.

XML Result File

When tests fail, NUnit XML results are automatically saved to {project_root}/.uloop/outputs/TestResults/<timestamp>.xml. The XML contains per-test-case results including:

  • Test name and full name
  • Pass/fail/skip status and duration
  • For failed tests: <message> (assertion error) and <stack-trace>