web-dev-qa-db-fra.com

Différences entre le test et la spécification

J'ai un problème de concept à ce stade et je ne trouve aucune information sur les différences entre Test (UnitTest, etc.) et Spec (Rspec, etc.).

Pour autant que je sache, les spécifications sont dans les tests d'intégration et le test est dans UnitTest, mais juste cela.

Pouvez-vous expliquer quelles sont les différences?

12
DFOXpro

Regardez le schéma suivant. Il illustre la relation entre le développement piloté par les tests (TDD) et le développement piloté par les tests d'acceptation (ATDD):

Acceptance Test-Driven Development diagram

Notez que la boucle intérieure, TDD, est enveloppée par la boucle extérieure, ATDD. Les exigences (illustrées par l'encadré Critères d'acceptation) déterminent la création de tests d'acceptation automatisés, qui à leur tour entraînent la création de tests unitaires pour la mise en œuvre.

En général, RSpec serait utilisé dans les situations où vous souhaitez exprimer les tests d'une manière conviviale pour les analystes commerciaux, à savoir la création de tests d'acceptation automatisés (le cercle de bronzage); tandis que les frameworks de tests unitaires comme nUnit sont plus spécialisés pour le type de tests unitaires écrits du point de vue TDD du développeur au niveau de la mise en œuvre (le cercle jaune).

12
Robert Harvey

ok, nous avons des termes différents ici, alors voici ce qui se passe

  • Nous avons des tests unitaires. Les autres niveaux sont les tests d'intégration, les tests de performances, etc.
  • rspec peut être utilisé pour bon nombre des niveaux de test ci-dessus, par ex. contre des modèles, des contrôleurs et des vues à travers des tests de fonctionnalités Capybara.
  • le mot "spec" vient d'une spécification qui est au cœur d'un test - il spécifie quelque chose.
  • rspec - un framework utilisé pour tester les navigateurs agaist, fréquemment utilisé avec Ruby on Rails applications.
  • fichiers spec - les fichiers rspec se terminent généralement par _spec.rb et sont souvent appelés fichiers spec.
3
Michael Durrant