nunit
1
总安装量
1
周安装量
#47093
全站排名
安装命令
npx skills add https://github.com/g1joshi/agent-skills --skill nunit
Agent 安装分布
mcpjam
1
claude-code
1
replit
1
junie
1
zencoder
1
Skill 文档
NUnit
Ported from JUnit, NUnit is one of the oldest and most feature-rich frameworks for .NET. Ideally suited for complex test setups and legacy migrations.
When to Use
- Legacy/Enterprise: Large existing codebases often use NUnit.
- Complex Lifecycle: If you really need
[OneTimeSetUp],[SetUp],[TearDown]hooks which xUnit discourages. - Parallelism: Strong parallel execution support (
[Parallelizable]).
Quick Start
using NUnit.Framework;
[TestFixture]
public class Tests
{
[SetUp]
public void Setup()
{
}
[Test]
public void Test1()
{
Assert.Pass();
}
[TestCase(1, 2, 3)]
[TestCase(2, 2, 4)]
public void TestAdd(int a, int b, int expected)
{
Assert.AreEqual(expected, a + b);
}
}
Core Concepts
Constraints Model (Assert.That)
NUnit offers a powerful fluent assertion style.
Assert.That(result, Is.EqualTo(4));
Assert.That(list, Has.Exactly(1).EqualTo("foo"));
Attributes
[Test]: Marks a method as a test.[TestCase]: Parameterized test input.[Category]: Grouping for filtering (dotnet test --filter Category=Integration).
Best Practices (2025)
Do:
- Use the Constraint Model (
Assert.That): It enables better error messages thanAssert.AreEqual. - Parallel execution: Enable it in
AssemblyInfo.csto speed up lengthy suites.[assembly: Parallelizable(ParallelScope.Fixtures)].
Don’t:
- Don’t share state in static fields: NUnit reuses the same test class instance for all tests (unlike xUnit), so dirty static state can leak between tests.