2011-03-25 19 views
9

Si è verificato un problema in cui i miei test scadono dopo 30 minuti. Qualche idea su come impostare un timeout infinito? Ho provato Timeout (0), ma getta ancora un timeout dopo 30 minuti.Disabilita il timeout per i test delle unità in C#

Sto correndo queste unit test in Visual Studio 2008.

+0

Dovrai fornire ulteriori informazioni, come il tipo di applicazione che stai testando per iniziare. – ChrisF

+0

Non hai specificato quale framework di test dell'unità stai utilizzando o dove stai specificando il timeout. –

+0

Cosa stai testando? Quale framework di test? Cosa sta buttando il timeout? – Oded

risposta

18

Dal 30 minuti è il timeout predefinito per un test di unità nel framework di test di Visual Studio, ho intenzione di prendere una supposizione che questo è ciò che ti stai riferendo a. In caso contrario, si prega di fornire maggiori dettagli.

È possibile impostare questa timeout in almeno due modi:

  1. Decorare specifico TestMethods con un attributo: [Timeout(TestTimeout.Infinite)]; o
  2. Utilizzando Test -> Edit Test Settings -> [settings you're using] -> Test Timeouts.

Si noti che se si esegue questa operazione utilizzando (2), sarà necessario chiudere e riaprire la soluzione in VS prima che venga applicata la modifica.

+0

Sì, è giusto :) è quello che stavo per suggerire. –

+0

Ho provato entrambi i suggerimenti ma non sono riuscito a farli funzionare. Non sono riuscito a trovare TestTimeout.Infinite, quindi ho provato Timeout (Timeout.Infinite) che non ha funzionato. Quando si passa attraverso il menu delle impostazioni, non è possibile impostare il timeout come infinito (ho provato 00:00:00). Il tempo massimo che posso inserire è 23:59:59. – Eric

+0

L'enum TestTimeout si trova in Microsoft.VisualStudio.TestTools.UnitTesting. Forse ti manca un "utilizzo"/riferimento? – telewin

0

Ha funzionato per me. Devi aggiungerlo al codice di test C#, appena sopra il metodo di test:

[Timeout(TestTimeout.Infinite)] 
[TestMethod()] 
Problemi correlati