Я пишу некоторые модульные тесты с помощью MSTest, используя C#, MSVS 2015 и. Net 4.6.1.
Эта строка:
Assert.ThrowsException<ArgumentOutOfRangeException>( () =>
select.AllSelectedOptions[0]
);
Сбой с этим ошибка компиляции:
CS0117 «Assert» не содержит определения для «ThrowsException»
Мое пространство имен - Microsoft.VisualStudio.TestTools.UnitTesting
(по умолчанию при создании проекта модульного теста в MSVS).
Согласно документации, Assert.ThrowsException (Action) должно существовать. Но я не вижу его в Intellisense ... и у меня появляется ошибка компиляции.
Я пробовал несколько разных версий MSVS (MSVS 2015 и MSVS 2019) и несколько разных версии MSTest.
В: Есть идеи, что может быть не так?
Как сказал Клинт ниже , мне нужно установить MSTest v2 из NuGet для использования Assert.ThrowsException<T>()
в MSVS 2015.
Но после этого MSVS больше не находит ни одного из моих тестов:
MSVS> Test> Run All (или «Тест> Отладка> Все тесты»):
------ Discover test started ------
========== Discover test finished: 0 found (0:00:01.127375) ==========
Есть предложения?