На данный момент наиболее распространенными инструментами модульного тестирования платформы .NET являются библиотека NUnit и Microsoft Unit Testing Framework.
NUnit — открытая среда unit-тестирования приложений для .NET. Она была перенесена с языка Java (библиотека JUnit). Первые версии NUnit были написаны на J#, но затем весь код был переписан на C# с использованием таких новшеств .NET, как атрибуты.
Существуют также известные расширения оригинального пакета NUnit, большая часть из них также с открытым исходным кодом. NUnit.Forms дополняет NUnit средствами тестирования элементов пользовательского интерфейса Windows Forms. NUnit.ASP выполняет ту же задачу для элементов интерфейса в ASP.NET.
Пример модульного теста с использованием библиотеки NUnit приведен ниже:
using NUnit.Framework;
[TestFixture]
public class ExampleTestOfNUnit
{
[Test]
public void TestMultiplication()
{
Assert.AreEqual(4, 2 * 2, "Умножение");
}
}
Как видно из примера модульного теста NUnit, тестовый класс помечен атрибутом [TestFixture] который указывает, что в данном классе будут содержаться тестовые методы. Тестовые методы помечаются атрибутом [Test], а в средине тестового метода используется статический класс Assert с набором специальных методов, для сравнения результатов, возвращаемых тестируемым методом с необходимыми результатами.
Одним из недостатков библиотеки является то, что она не встроена в среду разработки Visual Studio.
Существует встроенный в среду разработки Visual Studio инструмент модульного тестирования – Microsoft Unit Testing Framework.