MSTest не находит новых тестов - PullRequest
13 голосов
/ 16 апреля 2010

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

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

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

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

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

Ответы [ 6 ]

27 голосов
/ 20 июля 2011

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

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

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

7 голосов
/ 16 апреля 2010

Самый простой способ: заново открыть решение.

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

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

2 голосов
/ 04 апреля 2013

Для меня ничего из вышеперечисленного не сработало. Я сравнил свой файл 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 сработали.

С уважением, Michael

0 голосов
/ 25 апреля 2016

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

0 голосов
/ 14 марта 2012

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

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

Athadu

0 голосов
/ 08 ноября 2011

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

...