9

У меня есть VS2012/.NET4.5 решение с огромным количеством модульных тестовQTAgent32.exe перестал работать

При выполнении всех модульных тестов из раствора я случайно получаю «QTAgent32.exe перестал работать» сообщение об ошибке и модульные тесты висят на этом этапе.

Мои модульные тесты на самом деле являются MSTest, и я запускаю их, используя меню Resharper от VS. Resharper Edition 7.1.3, не уверен, имеет ли это значение. VS 2012 SP 3

ответ

7

В конце концов я нашел причину

Одна часть кода была написана неправильно, и в некоторых curcumstances вызвало бесконечную рекурсию и переполнение стека. Так что, если вы получаете ту же ошибку "QTAgent32.exe прекратил работу" попробуйте проверить, какой у вас звонок на данный момент.

+0

Спасибо :) То же самое здесь –

4

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

Я бы сказал, что «QTAgent32.exe перестает работать» всякий раз, когда вы пытаетесь выполнить какой-либо модульный тест. Это началось после того, как я реорганизовал мое решение, вытащив некоторый код в библиотеку классов.

Это было для решения в .NET 3.5 в VS Premium 2012, обновление 4.

Исправление в конце концов должен был удалить файл собственной инициативе. (Это, кстати, скрытый файл.)

+1

Это временно разрешило проблему, но оно вернулось снова. Я укусил пулю и переключился на xUnit.net, у которого есть собственный тестовый бегун. (Это означает, что QTAgent не используется.) Мне потребовался один день, чтобы портировать все мои 588 тестов. Сейчас все работает отлично. –

0

То же самое произошло со мной после перезагрузки моего ПК с запуском обновления Visual Studio Professional 2013 2. Даже самый простой тест не удался, прежде чем он был введен, и сообщение «QTAgent32.exe имеет перестали работать ".

Запуск Visual Studio в качестве администратора решил проблему для меня. Вероятно, только устранение симптома не причина, но он сработал.

2

FWIW: Моим решением в VS2012 было удалить файл TraceAndTestImpact.testsettings в каталоге решений. (возможно вместе с удалением MySolutionName.sln.DotSettings.user и работает с повышенными привилегиями)

Если вы получаете следующее,

An exception occurred while test discoverer 'MSTestDiscoverer' was loading tests. 
Exception: An error occurred while initializing the settings provider named 'MSTest'. 
Error: The test settings file C:\....\TraceAndTestImpact.testsettings, specified in 
the MSTestAdapter settings, is not available. Either access to the file is denied or 
the file does not exist. Ensure that the test settings file is available and try again. 

попытаться загрузить решение с повышенными привилегиями. Чтобы добавить оскорбление к травме, не создается новый файл TraceAndTestImpact.testsettings.

1

У меня была та же проблема, и проблема была в некоторых тестах, которые имели Thread.Sleep внутри ThreadPool.QueueUserWorkItem.

Я нашел, где была ошибка после удаления тестового файла конфигурации: my-project.testsettings. При удалении этого файла QTAgent32.exe прекратил работу с сообщением и начал показывать исключение о прерывании потока.