CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/unity-test-framework

Author and run the Unity game-engine Test Framework (`com.unity.test-framework`, currently v1.8). Distinct from the ThrowTheSwitch Unity C testing library at throwtheswitch.org/unity - the two tools share only a name. Covers package install via Package Manager, the EditMode vs PlayMode split, the [Test] / [UnityTest] / [SetUp] / [TearDown] / [UnityPlatform] attributes, assembly-definition setup (Editor folder vs asmdef with `includePlatforms` / `optionalUnityReferences: [TestAssemblies]`), Test Runner window, command-line batch invocation with `-runTests` / `-testPlatform` / `-testResults` / `-testFilter` / `-testCategory`, NUnit 3.5 assertion API, and CI integration. Use when the unit under test is C# Unity code that needs to exercise the Unity runtime or editor.

70

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Overview
Quality
Evals
Security
Files

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-structured body with strong progressive disclosure: the main file carries executable examples and pushes flag tables, the XML schema, and CI wiring to real, clearly-labeled reference files. The main weaknesses are mild redundancy (the disambiguation repeated three times), a no-op TearDown example, and the absence of an explicit test-failure recovery loop.

Suggestions

State the ThrowTheSwitch disambiguation once (the Overview) and reduce the repeats in 'When to use' and the anti-patterns table to a one-line cross-reference to `unity-test-framework-c`.

Make the EditMode [TearDown] example executable by calling `Object.DestroyImmediate(go)` in Cleanup() instead of leaving a comment-only body (the call currently appears only in the anti-patterns table).

Add a short failure-recovery loop to the 'Parsing results' section: surface `<test-case result="Failed">` entries with their stack traces, fix, then re-run — mirroring the validate-fix-retry pattern the CLI flow already implies.

DimensionReasoningScore

Conciseness

Mostly lean — executable code, flag examples, and tables dominate, and NUnit basics are not re-explained — but the ThrowTheSwitch disambiguation is repeated across the Overview, 'When to use', and the anti-patterns table, and the 'Composes with' routing block could be tightened. Not 3 because there is no padded fluff; not 5 because of the redundant disambiguation passages.

4 / 5

Actionability

Concrete, mostly copy-paste-ready guidance: EditMode and PlayMode C# examples, asmdef JSON, an exact bash batch invocation, and menu paths. Not 5 because the EditMode [TearDown] Cleanup() body is a comment-only no-op (the actual Object.DestroyImmediate(go) call appears only in the anti-patterns table) and the PlayMode example presumes a Resources prefab with no setup step.

4 / 5

Workflow Clarity

Clear Authoring → Running → Parsing results → CI sequence with an explicit verification checkpoint ("treat the -testResults XML as the source of truth", "Surface result=\"Failed\" at the <test-run> level") and an anti-pattern table of failure modes, so the batch-operation validation cap does not apply. Not 5 because there is no failure-recovery loop (parse → fix → re-run) and the sections are reference-style rather than an ordered procedure with checkpoints.

4 / 5

Progressive Disclosure

The body keeps essentials inline and pushes detail to three real, one-level-deep references, each clearly signaled with its contents ("The full cheatsheet with sources… is in references/attributes.md", "The full batch-mode flag table… are in references/cli.md", "A complete GitHub Actions workflow is in references/results-and-ci.md"); all three files were verified to exist and contain exactly what is promised. Not 4 because there are no organization or signaling gaps.

5 / 5

Total

17

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: it names concrete capabilities across the entire author-run-CI workflow, gives an explicit and specific 'Use when' trigger, and proactively disambiguates the name collision with the ThrowTheSwitch Unity C library. The only gap is a handful of missing natural keyword variations (unity3d, 'unit tests', .cs).

DimensionReasoningScore

Specificity

Lists multiple concrete actions comprehensively — "Author and run", "package install via Package Manager", "command-line batch invocation with -runTests / -testPlatform / -testResults / -testFilter / -testCategory", "NUnit 3.5 assertion API, and CI integration" — covering the full author-to-CI workflow. Not 4 because no area of the skill's scope is missing.

5 / 5

Completeness

Explicitly answers both what ("Author and run the Unity game-engine Test Framework… Covers package install… CI integration") and when ("Use when the unit under test is C# Unity code that needs to exercise the Unity runtime or editor") with a concrete trigger clause. The when-clause is specific, so the 4 anchor ('when could be more explicit') does not fit.

5 / 5

Trigger Term Quality

Good natural-term coverage: "Unity", "C# Unity code", "EditMode vs PlayMode", "NUnit 3.5", "Test Runner", "CI integration", "Unity runtime or editor". Not 5 because common variations like "unity3d", the phrase "unit tests", and the .cs extension are absent; clearly above 3 since coverage is broad, not merely partial.

4 / 5

Distinctiveness Conflict Risk

Actively disambiguates: "Distinct from the ThrowTheSwitch Unity C testing library at throwtheswitch.org/unity - the two tools share only a name." This carves a clear niche with minimal conflict risk, exceeding the 4 anchor which still tolerates minor overlap with closely related skills.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Reviewed

Table of Contents