Как отметил @Sprintstar в комментариях к ответу @Michael La Voie, класс Assert не может быть расширен из-за его статической природы, обычно я решаю эту проблему путем создания тестового репозитория, который содержит мои настроенные методы с несколькими утверждениями и другими проверками, происходящими в том же методе. Для бывших
public static class MyTestRepository
{
public static void ArePropsEquivalent(
Dictionary<string, int> propsExpected,
Dictionary<string, int> propsActual)
{
//Multiple Asserts and validation logic
//required for Equivalence goes here
}
public static void ArePropsSimilar(
Dictionary<string, int> propsExpected,
Dictionary<string, int> propsActual)
{
//Multiple Asserts and validation logic
//required for similarity goes here
}
}
Затем я вызываю эти методы из методов модульного тестирования.
[TestMethod]
public void TestMthod1()
{
//Props declaration goes here
MyTestRepository.ArePropsEquivalent(propsExpected, propsActual);
}
[TestMethod]
public void TestMthod2()
{
//Props declaration goes here
MyTestRepository.ArePropsSimilar(propsExpected, propsActual);
}
Таким образом, я могу писать меньше и делать больше в реальных методах модульного теста и поддерживать его модульным (в случае разных моделей).