Использование MSTest или NUnit в качестве фреймворка для создания юнит-тестов зависит от ваших конкретных потребностей и предпочтений. Оба фреймворка являются популярными и имеют свои преимущества и недостатки.
MSTest является стандартным фреймворком для создания и запуска юнит-тестов в Visual Studio, и он обладает некоторыми удобными функциями, такими как ExpectedException, DataSource и AssemblyInitialize, которые могут быть полезными при организации и запуске тестов. Однако, как вы отметили, MSTest имеет ограничение использования только для устаревших фреймворков, что может быть недостатком, особенно если вы планируете использовать новейшие фреймворки.
NUnit, с другой стороны, является более гибким и расширяемым фреймворком, который поддерживает более широкий набор функций и технологий. Он не имеет некоторых специфичных для MSTest функций, таких как ExpectedException, DataSource и AssemblyInitialize, но предлагает свои собственные альтернативы для достижения аналогичных целей.
В конечном счете, выбор между MSTest и NUnit зависит от того, какие функции вам необходимы и какой фреймворк наиболее комфортен для вас и вашей команды разработки. Если вам нужны специфичные функции MSTest, и ограничение использования только для устаревших фреймворков не является проблемой, то использование MSTest может быть разумным решением. Однако, если вам важна гибкость и поддержка современных технологий, то выбор может падать на NUnit или на другой фреймворк, который лучше соответствует вашим потребностям.