2009-09-01 9 views
6

Quelles sont les différences entre l'utilisation d'un outil VS intégré comme Testdriven.net ou l'utilisation d'un outil de test GUI comme Icarus ou NUnit GUI?Gallio Icarus vs. Testdriven.net

Qu'est-ce que vous préférez et pourquoi? Jusqu'ici, j'ai trouvé que les rapports sont meilleurs dans Icarus que dans td.net, qui ne dispose que d'une sortie en ligne de commande. Cependant td.net est plus rapide à utiliser, je peux exécuter des tests simples plus facilement sans avoir à décocher le reste en premier. L'intégration de NCover est très agréable aussi.

Répondre

8

Icarus a une grande fonctionnalité qui me permet de l'utiliser. C'est le rechargement automatique et la relance des tests. Je garde Icarus planant sur le moniteur de gauche. Chaque fois que je compile dans Visual Studio, Icarus recharge les assemblages et exécute tous les tests. C'est un peu comme le retour instantané de l'analyse de la solution de Resharper, sauf pour les tests au lieu de la syntaxe. L'exécution des tests est automatique et ne semble pas affecter les performances de Visual Studio (probablement, car Icarus est son propre processus, pas hébergé dans l'IDE).

Pour activer cette configuration, allez dans Icarus-> Options-> Test Explorer. Cochez 'Toujours recharger les fichiers' et 'Exécuter les tests après rechargement'.

+0

Oui, je fais aussi Digg que. Hélas, ma question était que td.Net offre un avantage quelconque. –

+0

En défense de TD.Net, la construction s'exécute dans le cadre de tests unitaires en cours, en place, et sans prendre de l'écran immobilier. – GregC

+0

Ce qui serait vraiment cool, c'est une fonctionnalité permettant de relancer les tests unitaires pertinents lorsque vous éditez du code dans Visual Studio. Mais alors comment définissez-vous "pertinent?" – GregC

3

Avez-vous un serveur d'intégration continue (comme un serveur de build, mais exécute des tests unitaires)?

Si c'est le cas, vous pouvez configurer gallio pour exécuter vos tests unitaires et disposer de toutes les informations de rapport, tout en permettant aux développeurs d'utiliser quelque chose avec une rétroaction plus rapide pendant qu'ils travaillent.

S'il n'y a pas d'option, je préfère quelque chose qui est intégré dans l'EDI comme Testdrvien. La rétroaction immédiate est vraiment utile lors de la refactorisation d'un morceau de code ou de développer quelque chose de nouveau sous TDD. En outre, si vous n'avez pas la vérification de la santé mentale en un seul point (comme un serveur CI), vous allez vouloir autant d'yeux que vous pouvez trouver sur ces tests unitaires. Les développeurs ont tendance à utiliser ce qui est le plus simple et, en général, une suite de tests intégrée est plus facile qu'un composant séparé.

+0

Je suis un développeur individuel, donc l'utilisation d'un serveur ci n'est pas nécessaire pour moi. En fait, j'ai _do_ en avoir un, mais je l'utilise juste pour les métriques et autres (et bien sûr pour le plaisir) –

+0

@Johannes Rudolph Si un serveur CI est trop puissant, vous pouvez toujours avoir des scripts de construction. Rake est vraiment facile à configurer et à exécuter à partir de la ligne de commande chaque fois que vous voulez des mesures. Voici la ressource que j'ai commencé avec Rake. http://www.tobinharris.com/past/2008/11/4/getting-started-with-rake-on-net/ –

Questions connexes