2009-10-19 8 views
4

Salutations,Comment trouver le code non-exécuté

J'ai un grand nombre de tests de Fitnesse pour un projet (1000+). Au fil du temps, lorsque les fonctionnalités changent et que les appareils partagés se succèdent, il nous reste du code orphelin inutilisé. Mais comment le trouver?

Pour ceux qui ne savent pas comment fonctionne en forme, vous avez une page wiki avec comme comme celui-ci:

| Lorsqu'un utilisateur ajoute | 1 | et | 2 | Il est retourné | 3 |

Ce qui est mis en correspondance au moment de l'exécution d'une méthode comme:

public bool WhenAUserAddsAndHeIsReturned(int first, int second, int expectedResult){ 

    return ((first + second) == expectedResult) 
} 

trouver toutes ces correspondances à la main serait une corvée, l'écriture d'un script pour le faire serait une tâche longue et difficile. Je suis sûr qu'il doit y avoir une meilleure solution.

Y at-il un utilitaire là-bas qui pourrait surveiller la dll de fixation tandis que les tests sont en cours d'exécution, puis retourner une liste de toutes les classes et méthodes qui ne sont pas exécutés?

+1

Qu'est-ce qu'un test "fitnesse"? Est-ce un combinym pour "fitness" et "finesse"? –

+2

http://fitnesse.org/ – ryber

+0

Oh.

Répondre

11

Le mot clé que vous recherchez est couverture. Question #276829 couvre certaines des options de votre plate-forme C#/.NET.

+0

+1 court et doux. Il n'y a pas assez de gens qui se réfèrent aux bonnes réponses existantes. – DaveParillo

+0

Cela le ferait s'il cherchait une couverture de 100% de la méthode pendant son test unitaire, mais cela vous dirait-il si les méthodes [seraient] réellement exécutées pendant le fonctionnement normal du programme? –

+0

Je savais que nCover et autres vous donneraient des données de ce type lors des tests unitaires ... en fait nCover a son propre runner nUnit dans le cadre de son processus. Mais je n'étais pas au courant qu'il peut être utilisé pour analyser une DLL dans d'autres situations. Je dois regarder ça. – ryber

1

liés à la couverture sont des outils de profilage. Voir this post pour les recommandations .Net. Ces outils vous dire où votre temps est passé pendant l'exécution, pas nécessairement lorsque votre code n'a pas aller, mais vous pouvez les utiliser pour trouver le code mort.

0

eswald est juste, outil de couverture est exactement ce dont vous avez besoin. Notre serveur de construction ccNet exécute nos tests Fitnesse (et les tests unitaires) avec NCover pour vérifier si nous faisons bien avec les tests automatisés du code de l'application. Cette question un bon rappel pour vérifier les rapports de couverture pour les montages morts.

Questions connexes