9
votes

Test de performance utilisant Xunit Cadre

Je me demande s'il est possible d'exécuter des tests de performance basés sur Xunit?


1 commentaires

Vous posez des questions sur le framework xunit.net ou tout simplement n'importe quel framework 'xunit' (tel que défini par le livre Xunit Test Patterns )?


3 Réponses :


6
votes

Vous ne savez pas exactement ce que vous demandez exactement, mais vous pouvez facilement écrire votre propre attribut personnalisé pour le faire. Pour un exemple ..

[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
    }
}


1 commentaires

Pour certains cas, cela peut réellement aider - mais seulement pour ceux-ci, lorsqu'un test de test est suffisamment long pour la minuterie (Hightherf) pour réellement cocher, et bien sûr, il existe des problèmes classiques avec des attentes de simultanément et de non-déterministes injectées par le système d'exploitation. La solution réelle exécuterait au moins l'essai de l'unité donné, c'est-à-dire. 100 fois et mesurer la vitesse moyenne. Mais, à Xunit, je ne connais actuellement pas de meilleur moyen de mesurer le temps que celui que vous avez présenté, et il y a donc un +1 pour vous :)



0
votes

Pour Junit, vous pouvez regarder Junitperf .

Si vous travaillez dans une langue différente et un Xunit différent, le concept de design Junitperf (décorateur de tests Junit normaux) et le code pourrait donner des idées sur la même chose dans votre langue.


0 commentaires

0
votes

Maintenant il y a un projet sur Github: https://github.com/microsoft/xunit-performance

Il fournit des extensions sur Xunit aux tests de performance de l'auteur (référence).


0 commentaires