mstest-skill
Generates MSTest tests in C#. Microsoft's built-in testing framework for .NET. Use when user mentions "MSTest", "[TestMethod]", "[TestClass]", "Assert.AreEqual". Triggers on: "MSTest", "[TestMethod]", "[TestClass]", "Microsoft test framework".
How do I install this agent skill?
npx skills add https://github.com/lambdatest/agent-skills --skill mstest-skillIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill provides a comprehensive library of C# unit testing patterns, templates, and configurations for the MSTest framework. It covers basic test structures, data-driven testing, and advanced integration testing techniques using industry-standard tools and official .NET packages. No malicious behavior or security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
- Runlayerpass
1/3 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
MSTest Testing Skill
Core Patterns
Basic Test
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class CalculatorTests
{
private Calculator _calc;
[TestInitialize]
public void SetUp() => _calc = new Calculator();
[TestMethod]
public void Add_TwoNumbers_ReturnsSum()
{
Assert.AreEqual(5, _calc.Add(2, 3));
}
[TestMethod]
[ExpectedException(typeof(DivideByZeroException))]
public void Divide_ByZero_Throws()
{
_calc.Divide(10, 0);
}
}
Data-Driven Tests
[DataTestMethod]
[DataRow(2, 3, 5)]
[DataRow(-1, 1, 0)]
[DataRow(0, 0, 0)]
public void Add_Parameterized(int a, int b, int expected)
{
Assert.AreEqual(expected, _calc.Add(a, b));
}
[DataTestMethod]
[DynamicData(nameof(GetTestData), DynamicDataSourceType.Method)]
public void Add_DynamicData(int a, int b, int expected)
{
Assert.AreEqual(expected, _calc.Add(a, b));
}
private static IEnumerable<object[]> GetTestData()
{
yield return new object[] { 1, 2, 3 };
yield return new object[] { 10, -5, 5 };
}
Assertions
Assert.AreEqual(expected, actual);
Assert.AreNotEqual(unexpected, actual);
Assert.IsTrue(condition);
Assert.IsFalse(condition);
Assert.IsNull(obj);
Assert.IsNotNull(obj);
Assert.IsInstanceOfType(obj, typeof(MyClass));
Assert.ThrowsException<ArgumentException>(() => Method());
CollectionAssert.Contains(list, item);
CollectionAssert.AreEquivalent(expected, actual);
StringAssert.Contains(str, "substring");
StringAssert.StartsWith(str, "prefix");
StringAssert.Matches(str, new Regex(@"\d+"));
Lifecycle
[AssemblyInitialize] → Once per assembly (static)
[ClassInitialize] → Once per class (static)
[TestInitialize] → Before each test
[TestMethod] → Test
[TestCleanup] → After each test
[ClassCleanup] → Once after class (static)
[AssemblyCleanup] → Once after assembly (static)
Categories
[TestMethod, TestCategory("Smoke")]
public void QuickTest() { }
[TestMethod, Ignore("Bug #456")]
public void SkippedTest() { }
[TestMethod, Timeout(5000)]
public void TimedTest() { }
Setup: dotnet add package MSTest.TestFramework MSTest.TestAdapter Microsoft.NET.Test.Sdk
Run: dotnet test or dotnet test --filter "TestCategory=Smoke"
Deep Patterns
See reference/playbook.md for production-grade patterns:
| Section | What You Get |
|---|---|
| §1 Project Setup | .csproj deps, .runsettings with parallel + coverage config |
| §2 Test Patterns | TestMethod, DataTestMethod, DynamicData, exception testing |
| §3 FluentAssertions | AssertionScope, async exceptions, collection assertions |
| §4 Class & Assembly Initialize | Testcontainers, shared expensive setup, global config |
| §5 WebApplicationFactory | API integration tests with in-memory DB |
| §6 Bogus Test Data | Faker patterns for realistic data generation |
| §7 TestContext & Logging | Diagnostic output, categories, timeouts |
| §8 CI/CD Integration | GitHub Actions with coverage reporting and thresholds |
| §9 Debugging Table | 12 common problems with causes and fixes |
| §10 Best Practices | 14-item production checklist |
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/lambdatest/agent-skills/mstest-skill">View mstest-skill on skillZs</a>