Подтвердить что ты не робот

MSTest не находит новые тесты

Используя VS2010, я не могу добавить дополнительные методы тестирования. Если я настроил свой проект следующим образом

[TestMethod]
public void Test1()
{
   Assert.AreNotEqual(0,1);
}

[TestMethod]
public void Test2()
{
   Assert.AreNotEqual(0,1);
}

Единственным тестом, который появляется в моем тестовом представлении, является Test1. Как я могу убедиться, что Test2 входит в этот список?

EDIT: Дополнительные тесты, которые изначально не были созданы, не добавляются в список тестов. Поэтому, если бы я должен был добавить Test3 после запуска тестов, тогда Test3 не будет добавлен.

4b9b3361

Ответ 1

Простейший способ: откройте решение.

Вы также можете открыть файл тестового списка (файл "vsmdi" в папке "Решения" ) и нажать кнопку "Обновить".

Иногда также выполняется полная перестройка вашего решения.

Ответ 2

Я столкнулся с той же проблемой, что не обнаружил новых методов тестирования после того, как я удалил ReSharper и обновился до Visual Studio 2010 SP1.

Я исправил проблему, перейдя в Инструменты > Параметры > Средства тестирования > Проект тестирования и не отмеченный "Отключить обнаружение фона методов тестирования" .

Он работал над повторным открытием решения, но не выполнял полную очистку и перестраивал.

Ответ 3

Для меня ничего из этого не было. Я сравнил файл csproj с тем, который работал, и добавил типы проекта из другого тестового проекта в тот, который не работал.

Итак, попробуйте добавить типы Guids в файл проекта, где [TestClass] и [TestMethod] включены в текстовый редактор:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
...
    <ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    </PropertyGroup>
...
</Project>

После добавления этого и обновления в редакторе тестовых списков я сразу увидел мои тесты и работал CTRL-R-T.

С уважением, Майкл

Ответ 4

Убедитесь, что ваши тесты имеют префиксы, такие как [TestClass] для класса и [TestMethod] для методов. У меня был случай, когда я не понимал, что я пытаюсь запустить тесты, написанные в другой форме. В моем случае это были [TestFixture] и [Test].

Ответ 5

Удаление файла с расширением '.sln.docstates', находящимся в папке проекта, устранило проблему для меня.

Не уверен, если это имеет значение, но я также удалил все файлы в папке TestResults.

Athadu

Ответ 6

Для меня удалены файлы .suo и .sdf, связанные с решением. Сразу после повторного открытия решения тесты были в редакторе списка.

Ответ 7

У меня была эта проблема, и решение было смущающе простым: пометить класс как открытый. Созданный мной тестовый класс не имел модификатора открытого доступа.

Взгляд на окно тестового вывода сказал мне все, что мне нужно было знать.

Тестовое окно вывода