Что пропускают тесты в визуальной студии?

Я попытался запустить тесты Visual Studio в ASP.NET MVC, нажав "Запустить все", но все тесты были пропущены. Почему это произошло и как я могу запустить все тесты? Вот скриншот:

Skipped Tests

Ответы

Ответ 1

Проверьте, имеет ли атрибут Ignore.

Ответ 2

Тесты, которые используют результат Inconclusive, будут отображаться как пропущенные. Итак, VS 2010 inconclusive == VS 2012 skipped

Пример:

Assert.Inconclusive("This test didn't exactly fail, but we can't be certain the results are good.")

Будет прочитан как пропущен в тестовом окне

Ответ 3

Я получил это в VS 2015, вместе с QTAgent32 прекратил работать и т.д. Оказалось, что это не имеет ничего общего с настройками теста и на самом деле было переполнением стека (я вас не заметил) в классе, который я тестировал.

У меня было несколько неудачных тестов, и вся команда других пропустила, когда агент упал. Я прокомментировал все тесты в затронутой области, пока не заработал все, а затем вытащил их обратно до сбоя, а затем, чтобы увидеть фактическое исключение SO, я должен был отладить тест.

Затем я несколько раз сталкивался с ним и исправил его. Маловероятный сценарий, но вы никогда не знаете.

Ответ 4

Предполагая, что один из ваших тестов заранее не прошел, ваши тесты, возможно, были пропущены из-за недостаточных привилегий.

Вы можете использовать аннотацию "TestCategories" для своих тестов. Отметьте их:

[TestCategory("Admin") TestMethod()]
public Void Test1()
{
   ...
}

И затем исключить категорию:

mstest/testcontainer:MyTestprojectName.dll/category: "! Admin"

Вы можете использовать несколько категорий для каждого теста. Для подробной информации: http://msdn.microsoft.com/en-us/library/dd286683.aspx

Ответ 5

Файл настроек теста, на который вы указываете, может быть недействительным. Убедитесь, что файл настроек имеет правильные параметры (удаленные или локальные и т.д.), А затем перейдите к Tests>Test Settings>Select Test Settings File на панели инструментов, чтобы выбрать допустимый файл.

Ответ 6

Я знаю, что это старая проблема, и нет принятого ответа, но, возможно, это поможет кому-то.

В Test Explorer (Тесты → Windows → Test Explorer) вы можете увидеть все те тесты, которые были пропущены. Если вы дважды щелкните имя теста, он откроет фактический тестовый код. Проверьте, имеет ли тест атрибут [Игнорировать] и удаляет его, если вы хотите запустить тест. (как предложил @Sridarshan)

P.S. У меня были тесты NUnit.

Ответ 7

В дополнение к тому, что было упомянуто здесь, проверьте, что TestClass также не имеет атрибута Ignore (а не только метод test.) Этот бит меня однажды...

Ответ 8

Также вызвано тестированием 64-битного проекта, но test-> Test Settings-> Архитектура процессора по умолчанию = x86