Обозреватель тестов не отображает список модульных тестов с сетевым диском

У меня была простая программа на C # с набором модульных тестов. Это было разработано в Visual Studio 2010. Теперь на другом компьютере я попытался перезагрузить это решение с помощью Visual Studio 2012 и запустить тесты. Мне удалось успешно перестроить решение, однако ни один из модульных тестов не отображается в обозревателе тестов. Проект (решение) Visual Studio располагался на сетевом диске LaCie Ethernet. Я скопировал все решение на свой локальный диск C :, закрыл решение с сетевого диска и снова открыл скопированное решение на локальном диске C :. Теперь, когда я создаю решение, Test Explorer показывает все тесты. Я вернулся и открыл копию на сетевом диске, и снова Test Explorer не показывает никаких тестов. Он говорит, что нужно создать решение, чтобы увидеть список тестов, но после успешного создания решения, которое включает в себя основной проект и проект модульного теста, оно по-прежнему отображает то же сообщение. См. Изображение ниже: введите описание изображения здесь

Почему проект, расположенный на сетевом диске, приводит к сбою модульного тестирования без сообщения об ошибке вообще?


person JonN    schedule 29.09.2012    source источник
comment
Решение связано с буквой подключенного диска (E :) или UNC (\\ машина \ папка)?   -  person bryanbcook    schedule 30.09.2012
comment
Вы нашли для этого решение? Может быть, с помощью инструмента Caspol?   -  person Tarnschaf    schedule 18.04.2013


Ответы (4)


Наконец-то мы заставили это работать на сетевом ресурсе с помощью следующих команд:

setx COMPLUS_LoadFromRemoteSources 1

caspol -m -ag 1.2 -url file://<path>* FullTrust

Например, если путь - \\computer\share\, тогда вторая команда будет:

caspol -m -ag 1.2 -url file://\\computer\share\* FullTrust

(обратите внимание на звездочку в конце пути)

Сначала закройте VS, запустите команды, перезапустите VS. Это сработало для меня без необходимости чистить / строить мой проект.

person Gary    schedule 17.07.2013
comment
Теперь я получаю System.Security.SecurityException: эта сборка не допускает частично доверенных вызывающих. Результат StackTrace: в FrnklTest.UnitTest1.TestMethod1 () - person greg; 15.05.2015

Перестройте все проекты приложения, включая все проекты, содержащие тестовые классы и методы тестирования. Они появятся в обозревателе тестов.

OR

Попытка изменить async void на асинхронную задачу.

Нравится

[TestMethod]
public async Task<Customers> GetCustomers()
{
    var result = await ...
}

Ссылка: Обозреватель модульных тестов делает не отображаются асинхронные модульные тесты для городских приложений

person Furqan Safdar    schedule 29.09.2012
comment
Как я уже сказал в своем вопросе, я уже перестроил все решение, в котором есть только два проекта (консольное приложение и проект модульного тестирования), и каждый из них имеет только один исходный файл C #. Сборка каждого из них успешна. Но когда проект / решение находится на сетевом диске, Test Explorer не может показать какие-либо тесты. Где находится эта асинхронная пустота для асинхронной задачи? В источнике свойства? - person JonN; 29.09.2012
comment
Я просмотрел вашу ссылку, но я не использую никаких методов тестирования, в которых используются ключевые слова async или await. Все мои методы тестирования являются общедоступными. - person JonN; 29.09.2012

На самом деле решение - только первая половина Гэри:

setx COMPLUS_LoadFromRemoteSources 1

Дополнительная литература: http://connect.microsoft.com/VisualStudio/feedback/details/502353/running-unit-tests-from-network-drive

person Schoonology    schedule 25.01.2014
comment
Вы правы, нужна только эта команда, caspol использовать не нужно - person Chin; 12.11.2014

С .Net 5 вам нужно добавить test команду в project.json список команд.

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --server.urls=http://localhost:5000",
    "test": "xunit.runner.dnx"
  },
person JabberwockyDecompiler    schedule 14.12.2015