2017-01-19 17 views
6

Я мигрируют my project из .NETFramework 4.5.1 на .NET Standard 1.6Использование MSTest Framework для тестирования приложений, ориентированных на .NET Standard 1.6 и выше

Проект использует структуру MSTest, и я хотел бы сохранить его что путь сейчас и избежать переписывания тестов в других рамках (XUnit, NUnit или тому подобное)

в настоящее время MSTest framework support was announced for .NET Core только, и, вполне естественно, что dotnet-test-mstest 1.1.2-previewpackage available on NuGet не поддерживает .NET стандарта, так что я не могу иметь свою цель тестирования проектов .NET Стандарт

Однако, согласно compatibility matrix, .NET Standard 1.6 совместим с .NET Core 1.0.
Итак, у меня есть тестовые сборки, ориентированные на .NET Core 1.0, и ссылки на мои сборки с системным тестированием, которые нацелены на .NET Standard 1.6, - и это работает отлично.

Вопрос в том, является ли это хорошим решением в будущем?

Я не нашел дорожной карты для MSTest, и мне интересно, будет ли этот трюк работать, когда я перейду на .NET Standard 2.0?
Должен ли я изменить свою тестовую среду на что-то еще, что имеет более современную поддержку, например XUnit?

Даже Microsoft documentation points to XUnit, они отказываются от MSTest?

Обратите внимание, что это is not a duplicate, так как мой вопрос касается перспективы на будущее, а не только текущего положения дел.

+0

Ребята, любая обратная связь очень ценится! – ironstone13

ответ

4

>> Проект использует рамку MSTest, и я хотел бы сохранить его таким образом в настоящее время и избежать переписывания тестов в других рамках (XUnit, NUnit или те, как)

звучит разумно.

>> Я не могу иметь мои тестовые проекты целевых .NET Standard

Вы можете.

Пожалуйста, обратитесь к этому сообщению для справки: https://blogs.msdn.microsoft.com/visualstudioalm/2016/11/29/evolving-the-test-platform-part-3-net-core-convergence-and-cross-plat/ Обратите внимание, что вам больше не нужен пакет dotnet-test-mstest. Вместо этого используйте MSTest.TestAdapter.

>> Даже точки документации Microsoft в XUnit

В этом случае, да. Но тогда есть другие проекты, которые также используют MSTest.

Мы работаем как с тестовой платформой MSTest, так и с тестовой платформой VS. В качестве тестовой платформы мы придерживаемся плюралистического подхода и хотели бы оставить выборку тестовой платформы разработчику (в отличие от сторон в пользу какой-либо одной структуры). Вы можете узнать больше об этом подходе здесь: https://blogs.msdn.microsoft.com/visualstudioalm/2016/07/25/evolving-the-visual-studio-test-platform-part-1/.

>> Они отказываются от MSTest?

Совсем нет.

См. Здесь: https://blogs.msdn.microsoft.com/bharry/2017/01/20/open-sourcing-the-vs-test-platform/, а здесь: https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/13399980-make-ms-test-framework-opensouce, чтобы получить представление о дороге впереди. В ближайшее время мы объявим больше - особенно в плане дорожной карты.

>> Вопрос в том, является ли это хорошим решением в будущем?

Да (на основе всего вышесказанного).

+1

спасибо за ответ, пожалуйста, позвольте мне переварить всю предоставленную информацию, прежде чем отмечу это как ответ! – ironstone13

+1

Конечно. Дайте мне знать, если вам нужна дополнительная информация. – pvlakshm