Похоже, вы пытаетесь проверить слишком много вещей в одном тесте.
Если предварительное условие не выполнено, то, вероятно, и остальные тесты также не пройдут. Я бы предпочел закончить тест, как только узнаю, что все не так, как я ожидаю.
Концепции модульного тестирования: красный сбой, зеленый проход. Я знаю, что MSTest также допускает желтый, но он не будет делать то, что вы хотите. Вы можете сделать Assert.Inconclusive, чтобы получить желтый свет. Я использовал это, когда работал над базой кода, в которой было много интеграционных тестов, основанных на конкретных данных базы данных. Вместо того, чтобы провалить тест, я начал давать результаты неубедительными. Код, возможно, работал просто отлично, но данные отсутствовали. И не было никаких оснований полагать, что данные всегда будут там (они не были хорошими тестами IMO).