2013-05-02 15 views
6

< TLDR>
Esecuzione di una prova MSTest dalla riga di comando si blocca senza errori o timeout, mentre "in attesa di piste/agenti". La ragione potrebbe essere che "non ci sono esecuzioni in coda", ma perché è così non ne ho idea, perché lo stesso test esatto funziona perfettamente su un'altra macchina.
</TLDR>si blocca MSTest per apparentemente senza motivo


Abbiamo recentemente trasferiti da valutare TeamCity su una macchina di prova, di installare nel nostro ambiente di produzione. Dopo aver migrato tutte le nostre configurazioni di build, improvvisamente abbiamo avuto problemi con i nostri test MSTest: nessuno avrebbe eseguito.

Dopo aver effettuato il debug di tutto ciò che possiamo pensare, pensiamo di aver escluso qualsiasi cosa abbia a che fare con TeamCity. Abbiamo lasciato credere che questo sia qualcosa direttamente con MSTest. Come un semplice modo per riprodurre il nostro problema, ho creato una soluzione di test MSTestTest (C# 4.0) in Visual Studio.

Ha un progetto MSTestTest con una singola classe Class1:

namespace MSTestTest 
{ 
    public static class Class1 
    { 
     public static string Foo() 
     { 
      return "Bar"; 
     } 
    } 
} 

Ha un altro progetto MSTestTestTest con una sola classe di test MSTest UnitTest1:

using MSTestTest; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 

namespace MSTestTestTest 
{ 
    [TestClass] 
    public class UnitTest1 
    { 
     [TestMethod] 
     public void TestMethod1() 
     { 
      Assert.AreEqual("Bar", Class1.Foo()); 
     } 
    } 
} 

La soluzione è compilata e copio le sue due DLL (M STestTest.dll e MSTestTestTest.dll) al nostro vecchio server di test e al nostro nuovo server di produzione. Su entrambi i server ho modificato il file MSTest.exe.config per scrivere informazioni di registrazione dettagliate su C: \ Temp \ MSTestTrace.log (as described here).

sia sul server di test e il server di produzione Ho poi eseguire i test dalla riga di comando in questo modo:

mstest /testcontainer:MSTestTestTest.dll /resultsfile:results.trx 

sul server di prova ottengo un risultato del test di successo subito:

C:\temp\MSTestTestTest>mstest /testcontainer:MSTestTestTest.dll /resultsfile:results.trx 
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Loading MSTestTestTest.dll... 
Starting execution... 

Results    Top Level Tests 
-------    --------------- 
Passed    MSTestTestTest.UnitTest1.TestMethod1 
1/1 test(s) Passed 

Summary 
------- 
Test Run Completed. 
    Passed 1 
    --------- 
    Total 1 
Results file: C:\temp\MSTestTestTest\results.trx 
Test Settings: Default Test Settings 

sul server di produzione però, tutto quello che ottiene è questo:

C:\Temp\MSTestTestTest>mstest /testcontainer:MSTestTestTest.dll /resultsfile:results.trx 
Microsoft (R) Test Execution Command Line Tool Version 10.0.30319.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Loading MSTestTestTest.dll... 
Starting execution... 

ho lasciato il serv sto correndo per ore, ma non succede nulla. Nessun timeout, nessun errore, niente di niente. A questo punto sono completamente bloccato su dove continuare.

Ecco un estratto del registro di traccia sul server di prova (log completo can be seen here (da un diverso, ma run identici)):

15:02:39.525, TestAgentProcessReady: total # of execution agents=1. 
15:02:39.525, ControllerExecution.TestAgentProcessReady: areAllAgentProcessesReady=True. 
15:02:39.525, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver)+ExternalJob.ProcessJob: successfully invoked job processor for job 'ReceivedTestMessageWrapper for test message 'Microsoft.VisualStudio.TestTools.Execution.TestAgentProcessStartedMessage' from agent 'TRUTVBYGG01'' 
15:02:39.634, ControllerObject: RunQueueThread waiting for runs/agents... 
15:02:39.744, AgentProcessManager.StartTestAgentRun_DoWork: tests were queued to test agents. 
15:02:39.744, ControllerExecution.SyncAllExecutionAgentsReady: finished waiting on m_agentProcessesInitialized: signaledIndex=0 
15:02:39.744, StateMachine(RunState): SetNextState Started called 
15:02:39.744, StateMachine(RunState): In state Started. Waiting for state change... 
15:02:39.744, StateMachine(RunState): Exit wait for state change, current state is Started. 
15:02:39.744, StateMachine(RunState): calling state handler for Started 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: invoking special job checker for job 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Started' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: successfully invoked special job checker for job 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Started' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: isSpecial = False 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.RunStateEvent: TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Started' 
15:02:39.744, ControllerObject: RunStartedHandler called for run 9363144a-38a7-4ee1-a920-1e1a3584859b 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry>(ControllerObject.RunQueueMessageProcessor).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry: Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry' 
15:02:39.744, StateMachine(RunState): SetNextState Running called 
15:02:39.744, StateMachine(RunState): In state Running. Waiting for state change... 
15:02:39.744, StateMachine(RunState): Exit wait for state change, current state is Running. 
15:02:39.744, StateMachine(RunState): calling state handler for Running 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: invoking special job checker for job 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Running' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: successfully invoked special job checker for job 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Running' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: isSpecial = False 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.RunStateEvent: TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Running' 
15:02:39.744, StateMachine(RunState): In state Running. Waiting for state change... 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender)+ExternalJob.ProcessJob: invoking job processor for job 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Started' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: invoking special job checker for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: successfully invoked special job checker for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
15:02:39.744, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: isSpecial = False 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.TestMessageBulk: Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender)+ExternalJob.ProcessJob: successfully invoked job processor for job 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Started' 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry>(ControllerObject.RunQueueMessageProcessor)+ExternalJob.ProcessJob: invoking job processor for job 'Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry' 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry>(ControllerObject.RunQueueMessageProcessor)+ExternalJob.ProcessJob: successfully invoked job processor for job 'Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry' 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver)+ExternalJob.ProcessJob: invoking job processor for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
15:02:39.744, LocalRunMessageListener.OnProcessReceivedTestMessage: Handling message 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Started' 
15:02:39.744, LocalRunMessageListener: RestartTimer 
15:02:39.744, LocalRunMessageListener.OnProcessReceivedTestMessage: Handling message 'TRUTVBYGG01: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}: Running' 
15:02:39.744, LocalRunMessageListener: RestartTimer 
15:02:39.744, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver)+ExternalJob.ProcessJob: successfully invoked job processor for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver).TryEnqueueJob: invoking special job checker for job 'ReceivedTestMessageWrapper for test message 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' from agent 'TRUTVBYGG01'' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver).TryEnqueueJob: successfully invoked special job checker for job 'ReceivedTestMessageWrapper for test message 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' from agent 'TRUTVBYGG01'' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver).TryEnqueueJob: isSpecial = False 
15:02:39.900, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper: ReceivedTestMessageWrapper for test message 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' from agent 'TRUTVBYGG01'' 
15:02:39.900, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver)+ExternalJob.ProcessJob: invoking job processor for job 'ReceivedTestMessageWrapper for test message 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' from agent 'TRUTVBYGG01'' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: invoking special job checker for job 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: successfully invoked special job checker for job 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: isSpecial = False 
15:02:39.900, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.TestStateEvent: Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' 
15:02:39.900, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver)+ExternalJob.ProcessJob: successfully invoked job processor for job 'ReceivedTestMessageWrapper for test message 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' from agent 'TRUTVBYGG01'' 
15:02:39.900, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender)+ExternalJob.ProcessJob: invoking job processor for job 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' 
15:02:39.900, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: invoking special job checker for job 'Run {9363144a-38a7-4ee1-a920-1e1a3584859b}, Test {854d1b23-760d-4e32-a6c7-91b74b5f2409}: Started' 

Ed ecco un estratto simile dal server di produzione (pieno log can be seen here (da una corsa diversa, ma identico)), che mostra dove le cose iniziano ad appendere:

16:33:50.260, TestAgentProcessReady: total # of execution agents=1. 
16:33:50.260, ControllerExecution.TestAgentProcessReady: areAllAgentProcessesReady=True. 
16:33:50.260, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Controller.ReceivedTestMessageWrapper>(ControllerExecution.TestMessageReceiver)+ExternalJob.ProcessJob: successfully invoked job processor for job 'ReceivedTestMessageWrapper for test message 'Microsoft.VisualStudio.TestTools.Execution.TestAgentProcessStartedMessage' from agent 'TRAPPUTVTCP01'' 
16:33:50.292, AgentProcessManager.StartTestAgentRun_DoWork: tests were queued to test agents. 
16:33:50.292, ControllerExecution.SyncAllExecutionAgentsReady: finished waiting on m_agentProcessesInitialized: signaledIndex=0 
16:33:50.292, StateMachine(RunState): SetNextState Started called 
16:33:50.292, StateMachine(RunState): In state Started. Waiting for state change... 
16:33:50.292, StateMachine(RunState): Exit wait for state change, current state is Started. 
16:33:50.292, StateMachine(RunState): calling state handler for Started 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: invoking special job checker for job 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Started' 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: successfully invoked special job checker for job 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Started' 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: isSpecial = False 
16:33:50.292, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.RunStateEvent: TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Started' 
16:33:50.292, ControllerObject: RunStartedHandler called for run 453f4093-9409-40f3-9651-34caa1b8c92a 
16:33:50.292, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry>(ControllerObject.RunQueueMessageProcessor).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry: Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry' 
16:33:50.292, StateMachine(RunState): SetNextState Running called 
16:33:50.292, StateMachine(RunState): In state Running. Waiting for state change... 
16:33:50.292, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry>(ControllerObject.RunQueueMessageProcessor)+ExternalJob.ProcessJob: invoking job processor for job 'Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry' 
16:33:50.292, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry>(ControllerObject.RunQueueMessageProcessor)+ExternalJob.ProcessJob: successfully invoked job processor for job 'Microsoft.VisualStudio.TestTools.Execution.ControllerQueueEntry' 
16:33:50.292, StateMachine(RunState): Exit wait for state change, current state is Running. 
16:33:50.292, StateMachine(RunState): calling state handler for Running 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: invoking special job checker for job 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Running' 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: successfully invoked special job checker for job 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Running' 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: isSpecial = False 
16:33:50.292, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.RunStateEvent: TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Running' 
16:33:50.292, StateMachine(RunState): In state Running. Waiting for state change... 
16:33:50.292, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender)+ExternalJob.ProcessJob: invoking job processor for job 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Started' 
16:33:50.292, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: invoking special job checker for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
16:33:50.307, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: successfully invoked special job checker for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
16:33:50.307, BackgroundSpecialJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: isSpecial = False 
16:33:50.307, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver).TryEnqueueJob: Queuing job 'Type Microsoft.VisualStudio.TestTools.Common.TestMessageBulk: Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
16:33:50.307, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(ControllerExecution.TestMessageSender)+ExternalJob.ProcessJob: successfully invoked job processor for job 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Started' 
16:33:50.307, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver)+ExternalJob.ProcessJob: invoking job processor for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
16:33:50.307, LocalRunMessageListener.OnProcessReceivedTestMessage: Handling message 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Started' 
16:33:50.307, LocalRunMessageListener: RestartTimer 
16:33:50.307, LocalRunMessageListener.OnProcessReceivedTestMessage: Handling message 'TRAPPUTVTCP01: Run {453f4093-9409-40f3-9651-34caa1b8c92a}: Running' 
16:33:50.307, LocalRunMessageListener: RestartTimer 
16:33:50.307, BackgroundJobProcessor<Microsoft.VisualStudio.TestTools.Common.TestMessage>(LocalRunMessageListener.TestMessageReceiver)+ExternalJob.ProcessJob: successfully invoked job processor for job 'Microsoft.VisualStudio.TestTools.Common.TestMessageBulk' 
16:33:50.401, ControllerObject: RunQueueThread there are no runs in the queue. 
16:33:50.510, ControllerObject: RunQueueThread waiting for runs/agents... 
16:34:10.291, LocalRunMessageListener: RestartTimer 
16:34:10.291, ControllerExecution: Sent heartbeat to listeners 
16:34:30.321, LocalRunMessageListener: RestartTimer 
16:34:30.321, ControllerExecution: Sent heartbeat to listeners 
16:34:50.352, LocalRunMessageListener: RestartTimer 
16:34:50.352, ControllerExecution: Sent heartbeat to listeners 
16:35:10.382, LocalRunMessageListener: RestartTimer 
16:35:10.382, ControllerExecution: Sent heartbeat to listeners 
16:35:30.412, LocalRunMessageListener: RestartTimer 
16:35:30.412, ControllerExecution: Sent heartbeat to listeners 
16:35:50.443, LocalRunMessageListener: RestartTimer 

ho anche provato a fare funzionare il prompt dei comandi da dove sto correndo MSTest come amministratore, ma che didn' t sembra fare alcuna differenza.

Qualsiasi suggerimento su quale dovrebbe essere il mio prossimo passo sarà molto gradito!

risposta

19

Il problema è a causa di un bug con MSTest quando Visual Studio 2010 e Visual Studio 2012 sono installati fianco a fianco. La soluzione è quella di installare il Service Pack 1 per Visual Studio 2010.

Sono venuto a realizzare questo, cercando in Registri di Windows> Applicazioni nel Visualizzatore eventi del . Lì ho trovato un errore dalla Sorgente VSTTAgentProcess (che non era presente in nessuno dei registri di traccia MSTest mi era stato guardando attraverso):

(QTAgent32.exe, PID 6912, Thread 9) AgentObject.OnBackgroundSendTestMessage: Connection to controller was lost. 
System.Runtime.Remoting.RemotingException: 
The argument type 'Run {b816a0d9-50f3-490a-96b8-479555466167}, Test {8a2710b4-3cf9-441c-bd5c-0efb0601e059}: Started' cannot be converted into parameter type 'Microsoft.VisualStudio.TestTools.Common.TestMessage'. 
---> System.InvalidCastException: Object must implement IConvertible. 
    at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) 
    at System.Runtime.Remoting.Messaging.Message.CoerceArg(Object value, Type pt) 
    --- End of inner exception stack trace --- 

Googling per questa eccezione poi mi ha portato a this post explaining the VS 2010/2012 issue.

Vale anche la pena ricordare che ho dovuto installare gli strumenti di sviluppo Microsoft Office before I was able to install VS2010 SP1.

+0

Grazie, questo ha funzionato per me! –

+1

Buono. Per me, il problema era evidente anche con VS2010 e VS2013 side-by-side. (Non ho mai installato VS2012) –

+0

Grazie! Puoi anche usare gli strumenti VS11 invece di VS10, funziona per me. – 2xMax

0

Ho gli stessi sintomi ma un setup leggermente diverso: sto preparando una macchina bu2 vs2015 che deve costruire un progetto vs2015 portato a termine dal 2010, ospitato su tfs 2010, lo so: un bel casino. Non ho vs 2010 installato su questa macchina build

Ho risolto l'installazione prima del "Microsoft Visual Studio 2010 Shell (Integrated) Redistributable Package" disponibile da MSDN e quindi applicando il VS 2010 SP1 su di esso. usando la shell "Isolata" sembra non funzionare grazie per l'aiuto che risolve questo labirinto o_O

+0

Lo hai mai capito? –