Resharper 7: MSTest не работает - "Тест не был выполнен"
После обновления до VS2012 и Resharper 7 мои ранее работающие тесты MS больше не выполнялись.
Тесты выполняются в среде ASP.NET. Я использую следующие атрибуты:
[TestMethod]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("C:\\Projekte\\****\\Website", "/")]
[UrlToTest("http://localhost:7924/")]
Есть идеи, как это исправить?
19 ответов
Как бы странно это ни было, при использовании VS2012, при использовании Resharper 8.0, при использовании NUnit я получал эту ошибку из-за записи в моем файле app.config. Я добавил строку подключения EntityFramework, и это поведение началось. Удаление всей строки подключения показывает, что тестовый запуск запускается / работает снова. Просмотр результатов показывает, что app.config недопустим - это вызвало такое специфическое поведение в тестовом средстве - "Тест не был выполнен".
У меня был testproject установлен на AnyCPU, а проект явно установлен на x86, когда это произошло. Установка testproject для x86 решила его для меня.
Я использую VS2012 R#8 и nUnit
Попробуйте запустить модульные тесты с помощью MSTest Test Explorer. Вы можете найти более подробную информацию в окне вывода первопричины.
Для меня это была ссылочная сборка, которая использовала более свежую версию NUnit, чем та, на которую ссылались в тестовом проекте. Использование той же самой современной версии решило проблему.
System.IO.FileLoadException: не удалось загрузить файл или сборку 'nunit.framework, версия =2.6.3.13283, культура = нейтральная, PublicKeyToken=96d09a1eb7f44a77' или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.
Я бы такую же проблему, я просто..
- Изменен метод доступа к модификатору с приватного на публичный.
- Удалено статическое ключевое слово из методов.
Вот и все. Это сработало для меня. Но это для C#.
В моем случае это был NUnitTestAdapter nuget, который нужно было удалить.
При использовании VS2010 и ReSharper 9.1 проблема заключалась в том, что файл LocalTestRun.testrunconfig
отсутствовал, но был указан в моем .vsmdi
файл.
Тест без VS выполнялся правильно, но у меня всегда была ошибка "Тест не был выполнен" в пользовательском интерфейсе теста ReSharper.
Так что я просто восстановил свой старый LocalTestRun.testrunconfig
файл и все работает отлично.
Я, вероятно, мог бы обновить мой .vsmdi
файл, чтобы не ссылаться на отсутствующий файл... Я не проверял это.
У меня такая же проблема. Не удалось запустить тестировщик Visual Studio, поэтому я попытался отладить тест. Это вызвало исключение ConfigurationErrorsException, которое не имело большой части трассировки стека, но содержало фразу "ClientSettingProvider". Я искал свое решение и обнаружил, что что-то добавило ключ appSetting для "ClientSettingProvider.ServiceUri" в мой app.config. Я удалил это (вместе с пустым элементом connectionStrings) и перестроил все - исправил проблему!
Дважды проверьте ваш app.config и попробуйте удалить все пустые элементы или все, что выглядит подозрительно.
Убедитесь, что для любых ссылок, которые у вас есть в тестовом проекте, задано значение Копировать локальный True.
Это может быть еще одна (глупая) проблема; У меня случайно был проект не строить. Перейдите в "Сборка" /"Диспетчер конфигурации" и убедитесь, что проект настроен на сборку.
Также может быть, что Ваше решение содержит несколько версий, например, nUnit, установленных в разных проектах. В моем случае это было причиной проблем. После объединения версии nUnit в решение проблема исчезла.
Я обнаружил, что файл настроек для модульного теста может нуждаться в проверке того, на что указывает ReSharper. У меня происходило то же самое, и это было связано с моими юнит-тестами для RS Harness, указывающими на неправильный файл.
У меня была та же проблема, потому что в имени тестового класса были символы "<" и ">" (также "(" и ")" вызывали эту проблему).
Удаление этих символов решило проблему.
Я мог использовать символы в идентификаторах благодаря поддержке Unicode в F#.
У меня была такая же проблема в C#: модульные тесты, запускаемые ReSharper, просто остановились с "Test not run". Нет другой информации.
Оказалось, из-за моего пользовательского раздела в App.Config. Удаление этого и это сработало.
Конфигурация: Visual Studio C# 12, ReSharper 8.2.3
У меня была точно такая же проблема, и ничего не помогло.
в конце концов я увидел несоответствие в своих пространствах имен проекта модуля и проекта модульного тестирования.
Пространство имен моего проекта модуля - это unit.project, а тестовый проект получил имя unit.project.tests, но пространство имен по умолчанию для теста было таким же, как и для модуля, оба были unit.project.
Как только я обновил пространства имен, чтобы они были разными (одно пространство имен для каждого проекта), все работало!
У меня была похожая проблема с NUnit
тест, который не будет выполнен, но R#
пометит их только как "Тест не был выполнен".
Выполнение их с родным NUnit
runner обнаружил, что в файле app.config произошла ошибка (собственно, 2 раздела ConnectionString). Исправление также сделало тесты запущенными в R#
тестовый бегун.
Я продолжал получать "Test not run" в Resharper.. Я испробовал все рекомендации, но ничего не получалось. Что для меня решило, так это запустить Visual Studio от имени администратора. (VS2013 с Resharper 8.1)
Просто выдержка из MSDN относительно Assert.Inconclusive:
Код, сгенерированный Visual Studio при создании модульных тестов, содержит оператор Inconclusive в качестве заполнителя.
Это происходит, если с решением что-то не так, чаще всего неправильная конфигурация, например, неправильные или несовпадающие пространства имен, несовместимые цели сборки и т. Д., Что приводит к тому, что UnitTestExplorer не может правильно использовать предоставленные модульные тесты. Таким образом, общее решение заключается в проверке последних изменений и исправлении ошибок.
В VS2012 тестовый проект не работает с общими папками, такими как \XXXXXX\XXX. Я решил, что он скопировал тестовый проект на локальные устройства. Удачи
Чтобы добавить к этому, я переписал свой файл app.config с новым, в котором отсутствовали некоторые нужные мне разделы. Я добавил разделы обратно, после чего я получил ту же ошибку в Resharper. Благодаря комментариям выше я сравнил его со старой версией и обнаружил, что мне не хватает имен разделов в configSections.