Esiste una soluzione alla lentezza del primo test NUnit quando si utilizza Entity Framework 4.1?NUnit Primo test molto lento con Entity Framework nel runner di prova Resharper
sto trovando ci vogliono circa 10 secondi per la prima prova, il resto dei miei test sono in esecuzione in 0.01 secondi (a seconda dell'opzione ReSharper Show Time)
Se si esegue il test utilizzando la GUI NUnit, ancora una volta prima prova dura 10 secondi, ma se ho ri-eseguire l'intero set di test viene eseguito in meno di 0,5 secondi ... fino a quando ho ricompilare la soluzione
ho anche un test NUnit di un Servizio WCF ospitato in IIS, che chiama EF, e il primo termina in circa 3 secondi. Quindi se rieseguo i test, è giù per 1 secondo e, come previsto, su ricompilare la prima volta è di nuovo a 3 secondi.
Ma i test originali NUnit, che sono contro una libreria di classi con metodi chiamando EF, sono sempre intorno alla seconda soglia dei 10, cioè nessuna diminuzione nel tempo
Ok, ho capito che IIS sta facendo "qualcosa "[cosa?], ma in entrambi i casi sto usando NUnit per effettuare le chiamate ... perché uno è 10+ secondi per la prima chiamata, l'altro è 3 secondi e poi 1 secondo per le chiamate successive ??
E per davvero confondermi, ho scritto una semplice app per console che chiama uno degli EF utilizzando i metodi nella classe in fase di test e che riesce a completare in 1 secondo.
UPDATE ... gli stessi test ri-scritti come test MSTest finire il primo test in circa 3,5 secondi, che è paragonabile alla prima prova nel corridore NUnit GUI, in modo che il problema sembra essere la ReSharper test runner per NUnit in Visual Studio
UPDATE 2 ... sì, il problema sembra essere il runner di prova di Resharper. TestDriven.NET e Visual Nunit 2010 sono entrambi più veloci.
UPDATE 3 ... ed è ora registrato con JetBrains come una questione
Devo fare qualcosa di sbagliato ... ho provato il processo descritto sul tuo link, ma ancora NUnit il primo test dura 10+ secondi. Ciò che mi ha ancora più confuso è che ho provato un'app console che chiama lo stesso codice e ci vuole circa un secondo ... perché/cosa sta facendo NUnit? – SteveC
In caso di dubbio, schiaffo Process Monitor su di esso. –
Slap Process Monitor su cosa? ... NUnit? – SteveC