2010-05-28 8 views
17

Sto cercando di costruire alcuni test unitari per accertare se le risorse stanno perdendo (o meno) utilizzando il framework di test unitario fornito con Visual Studio.È possibile profilare l'utilizzo della memoria dei test unitari?

Attualmente sto valutando l'ultima versione di ANTS Profiler, ma non riesco a capire se mi permette di forzare un'istantanea dal codice (in modo da poter fare uno snapshot, eseguire un test unitario a alcune centinaia di volte, forza una garbage collection e prendi un'altra istantanea e salva i risultati per un'analisi successiva).

E 'possibile farlo con ANTS/Visual Studio o devo esplorare le opzioni con altri profiler?

risposta

2

JetBrains dotTrace/dotMemory e ReSharper hanno una migliore integrazione su test e profiling delle unità.

http://www.jetbrains.com/profiler/index.html

Non sono sicuro se ANTS ha tale integrazione, ma è possibile consultare prevendita Red Gate, giusto?

http://www.red-gate.com/about/all_testimonials.htm

Essi si aspettano di chiamare loro per ulteriori informazioni.

+0

Risulta che sia dovuto essere sostenuto in "una versione futura" –

+0

@ RowlandShaw Sai se questo è supportato ora? –

+0

@SimonFischer non che io sia a conoscenza di –

0

Per i futuri lettori, vale la pena ricordare che è possibile forzare istantanee dal codice con ANTS Memory Profiler. È necessario fare riferimento

RedGate.MemoryProfiler.Snapshot.dll

che è incluso nel formiche directory di installazione. È quindi possibile scattare una foto chiamando

RedGate.MemoryProfiler.Snapshot.TakeSnapshot ("nome snapshot opzionali")

Full details here.

+0

Disclaimer: lavoro per Red Gate –

5

Avete visto le dotmemory da JetBrains?

dotMemory Unit è un framework di test delle unità che consente di scrivere test che controllano il codice per tutti i tipi di problemi di memoria.

Ad esempio:

Quando è necessario valutare semplicemente la quantità di memoria allocata in un test , è possibile utilizzare l'attributo AssertTraffic. Questo attributo flessibile consente di filtrare i dati sul traffico per tipo di oggetto, interfaccia o spazio dei nomi .

0

Uso il profiler ANTS e quello che trovo più comodo è quello di collegare il profiler al processo di test in esecuzione, che può essere diverso a seconda del framework di test che si sta utilizzando. Ad esempio, io uso ReSharper e il nome dell'immagine processo si chiama qualcosa come:

JetBrains.ReSharper.TaskRunner.CLR ...

Problemi correlati