Я недавно переоценил свои установки тестирования после обнаружения параметризованного тестирования в mbUnit и NUnit . Ранее я рекомендовал Python unittest как способ автоматизации любого возможного тестирования из-за краткого характера и доступности тестов.
Параметризованные тесты позволяют настраивать тестовые приборы с диапазоном параметров данных, и поэтому ваши тесты на C # могут оказаться даже более краткими, чем тесты Python.
[TestCase(12, 3, 4)]
[TestCase(12, 2, 6)]
[TestCase(12, 4, 3)]
[TestCase(12, 0, 0, ExpectedException = typeof(System.DivideByZeroException),
TestName = “DivisionByZeroThrowsExceptionType”)]
[TestCase(12, 0, 0, ExpectedExceptionName = “System.DivideByZeroException”,
TestName = “DivisionByZeroThrowsNamedException”)]
public void IntegerDivisionWithResultPassedToTest(int n, int d, int q)
{
Assert.AreEqual(q, n / d);
}