Mi chiedo se sia possibile eseguire il test delle prestazioni basato su xUnit?Test delle prestazioni utilizzando la struttura xUnit
risposta
Per JUnit, potresti guardare JUnitPerf.
Se si lavora in una lingua diversa e in un diverso xUnit, il concetto di progettazione JunitPerf (decorazione dei normali test JUnit) e il codice potrebbero fornire idee su come fare lo stesso nella propria lingua.
Non sai cosa esattamente chiedi, ma puoi facilmente scrivere il tuo attributo personalizzato per farlo. Per un esempio ..
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class TraceAttribute : BeforeAfterTestAttribute
{
public override void Before(MethodInfo methodUnderTest)
{
//Start timer
}
public override void After(MethodInfo methodUnderTest)
{
//End timer
}
}
Quindi decorare il Test unità con questo attributo. Assicurati inoltre di scrivere su un'uscita;)
per alcuni casi in realtà può essere d'aiuto - ma solo per quelli, quando un'esecuzione di test è LONG sufficiente per il timer (highperf) da spuntare effettivamente, e naturalmente ci sono problemi classici con la concorrenza e le attese non deterministiche iniettate dal sistema operativo. la soluzione reale dovrebbe almeno eseguire il dato test unitario cioè. 100 volte e misura la velocità media. MA, in xUnit, attualmente non conosco un modo migliore per misurare il tempo rispetto a quello che hai presentato, e quindi c'è un +1 per te :) – quetzalcoatl
Stai chiedendo informazioni sul framework xUnit.net o su qualsiasi framework 'xUnit' (come definito dal libro * xUnit Test Patterns *)? –