Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

unity-testrunnerUnity testrunner 搜索

Agent Skill

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

总安装

247

周安装

10

GitHub Stars

8

下载量

78
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unity-testrunner(Unity testrunner 搜索)
来源仓库:https://github.com/creator-hian/claude-code-plugins
仓库路径:skills/unity-testrunner
安装命令:
npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-testrunner
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-testrunner

简介

Unity TestRunner 搜索工具,用于查找测试执行与报告方案。

  • 适用于需要定制测试过滤器或并行执行策略的项目。
  • 支持基于关键词匹配找到适合当前工作流的 Runner 实现。
  • 安装命令:npx skills add https://github.com/creator-hian/claude-code-plugins --skill unity-testrunner
  • 应确认是否要求安装额外 NuGet 包或修改 Assembly-CSharp.dll

SKILL.md

Unity TestRunner - Automated Testing for Unity

Overview

Unity Test Framework provides NUnit-based testing with CLI automation for batch execution, CI/CD pipelines, and TDD workflows.

Core Topics:

  • CLI batchmode test execution (EditMode/PlayMode)
  • NUnit assertions and test attributes
  • Test assembly configuration (asmdef)
  • Result parsing and reporting
  • CI/CD pipeline integration

Foundation Required: csharp-plugin:csharp-code-style (naming conventions, code organization)

Optional Integrations:

  • unity-vcontainer: DI-based test mocking
  • unity-unitask: Async test patterns
  • unity-async: Coroutine testing utilities

Learning Path: Test basics → CLI automation → Advanced patterns → CI/CD integration

Quick Start

Basic Test Structure

using NUnit.Framework;

[TestFixture]
public class PlayerServiceTests
{
    private PlayerService mPlayerService;

    [SetUp]
    public void SetUp()
    {
        mPlayerService = new PlayerService();
    }

    [Test]
    public void Initialize_WhenCalled_SetsHealthToMax()
    {
        // Arrange
        int expected = 100;

        // Act
        mPlayerService.Initialize();

        // Assert
        Assert.AreEqual(expected, mPlayerService.Health);
    }

    [TearDown]
    public void TearDown()
    {
        mPlayerService = null;
    }
}

CLI Execution (EditMode)

& "C:\Program Files\Unity\Hub\Editor\{VERSION}\Editor\Unity.exe" `
  -batchmode `
  -nographics `
  -projectPath "{PROJECT_PATH}" `
  -runTests `
  -testPlatform editmode `
  -testResults "{TEMP}\results.xml" `
  -logFile "{TEMP}\test.log" `
  -quit

CLI Execution (PlayMode)

& "C:\Program Files\Unity\Hub\Editor\{VERSION}\Editor\Unity.exe" `
  -batchmode `
  -projectPath "{PROJECT_PATH}" `
  -runTests `
  -testPlatform playmode `
  -testResults "{TEMP}\results.xml" `
  -logFile "{TEMP}\test.log" `
  -quit

Note: PlayMode cannot use -nographics (requires scene rendering)

When to Use

Trigger Conditions (Proactive)

  • Test code (*Tests* path.cs files) created or modified
  • TDD workflow in progress (test-first development)
  • User explicitly requests "run tests", "execute tests"
  • CI/CD pipeline configuration needed
  • Test failure debugging required

Non-Trigger Conditions

  • General.cs file modifications without test context
  • Configuration or asset file changes only
  • Build or deployment tasks without test requirements

Reference Documentation

CLI Automation

Complete CLI reference and automation:

  • Full CLI option reference table
  • Unity Hub path detection (Windows/macOS)
  • ProjectVersion.txt parsing
  • Environment variable configuration
  • CI/CD pipeline templates (GitHub Actions)
  • Timeout and log management

Test Patterns

NUnit patterns and best practices:

  • NUnit attribute reference ([Test], [SetUp], [TestCase], etc.)
  • EditMode test patterns (pure C#, ScriptableObject)
  • PlayMode test patterns (MonoBehaviour, Scene loading)
  • Async test patterns (UniTask, IEnumerator)
  • Test fixture configuration (asmdef-based)
  • Mocking strategies (interface-based)

Result Parsing

Test result processing:

  • NUnit XML result format structure
  • PowerShell XML parsing snippets
  • Result summary extraction
  • Failed test detail extraction
  • CI/CD reporting integration

Key Principles

  1. EditMode First: Use EditMode for pure logic tests (faster, no scene required)
  2. PlayMode for Integration: Reserve PlayMode for MonoBehaviour and scene tests
  3. Isolate Dependencies: Use interfaces for testable architecture
  4. Fast Feedback Loop: Filter tests during development for quick iteration
  5. Automate in CI/CD: Configure batchmode execution for continuous testing

Common Patterns

Test Filtering

# Filter by test name (semicolon-separated)
-testFilter "LoginTest;AuthTest"

# Filter by regex pattern
-testFilter ".*Service.*"

# Filter by category
-testCategory "Unit;Integration"

# Filter by assembly
-assemblyNames "Game.Domain.Tests;Game.Service.Tests"

Unity Version Detection

# Parse ProjectVersion.txt
$versionFile = Get-Content "{PROJECT_PATH}/ProjectSettings/ProjectVersion.txt"
$version = ($versionFile | Select-String "m_EditorVersion: (.+)").Matches.Groups[1].Value

# Construct Unity Editor path
$unityExe = "C:\Program Files\Unity\Hub\Editor\$version\Editor\Unity.exe"

Test Assembly Identification

Priority pattern for finding test assemblies:
1. {AssemblyName}.Tests.asmdef (same folder or Tests subfolder)
2. Tests/{AssemblyName}/*.asmdef
3. Assets/Tests/EditMode/*.asmdef (fallback)

Example:
  Changed: Assets/Scripts/Domain/LoginService.cs
    -> asmdef: Game.Domain.asmdef
    -> Tests: Game.Domain.Tests.asmdef
    -> Filter: -assemblyNames "Game.Domain.Tests"

Exit Codes

Exit CodeMeaningAction
0All tests passedDisplay summary
2Test failuresDisplay failed test details
1Other errorsCheck log file for details

Result Summary Format

Unity Test Results (EditMode)
-----------------------------------
Passed: 15
Failed: 2
Skipped: 1
Duration: 3.45s

Failed Tests:
  1. LoginServiceTests.LoginWithInvalidCredentials_ThrowsException
     -> Expected: ArgumentException
     -> Actual: No exception thrown

  2. AuthTests.TokenExpiry_ShouldInvalidateSession
     -> Assert.AreEqual failed
     -> Expected: False, Actual: True

Platform Considerations

Windows

$unityExe = "C:\Program Files\Unity\Hub\Editor\{VERSION}\Editor\Unity.exe"

macOS

unityExe="/Applications/Unity/Hub/Editor/{VERSION}/Unity.app/Contents/MacOS/Unity"

CI/CD Environment

# Use environment variable for flexibility
$unityExe = $env:UNITY_EDITOR_PATH
if (-not $unityExe) {
    # Fallback to Unity Hub path
}

Error Handling

ErrorResolution
Unity Editor path not foundSet UNITY_EDITOR_PATH environment variable
ProjectVersion.txt missingVerify Unity project root location
Test timeoutUse -playerHeartbeatTimeout option (default: 600s)
License errorVerify Unity license activation

Integration with Other Skills

  • unity-vcontainer: Configure DI mocks in test fixtures
  • unity-unitask: Write async tests with UniTask assertions
  • unity-async: Test coroutine-based logic
  • unity-performance: Profile test execution performance

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.35%
按下载量换算28

Claude

27.14%
按下载量换算21

Cursor

18.18%
按下载量换算14

Gemini CLI

8.47%
按下载量换算7

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills